This function asks a property bag to read a set of named properties as a RECTL structure.


SHPropertyBag_ReadPOINTL (
    IPropertyBag *ppb,
    LPCWSTR pszPropName,
    LPRECTL pValue);


The ppb argument provides the address of an IPropertyBag interface.

The pszPropName argument provides the address of a null-terminated Unicode string that names the property set.

The pValue argument provides the address of a variable that is to receive the property values as a RECTL structure.

Return Value

The function returns zero for success, else an error code.


If any of the ppb, pszPropName and pValue arguments are NULL, the function fails, with E_INVALIDARG as the error code. The names of the four properties are formed by appending “.left”, “.right”, “.top” and “.bottom” to the base name of the set. If this cannot be done within MAX_PATH characters, the function fails, with E_FAIL as the error code. If the function cannot read each property as a LONG (using SHPropertyBag_ReadLONG), it fails. The values of the “.left”, “.right”, “.top” and “.bottom” properties become respectively the left, right, top and bottom members of the RECTL.


The SHPropertyBag_ReadRECTL function is exported from SHLWAPI as ordinal 523 in version 6.00.

Though this function dates from 2001, it was still not documented by Microsoft in the MSDN Library at least as late as the CD edition dated January 2004.