This function asks a property bag to read a named property as a boolean.


SHPropertyBag_ReadBOOLOld (
    IPropertyBag *ppb,
    LPCWSTR pszPropName,
    BOOL bDefault);


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.

The bDefault argument provides the default value.

Return Value

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


If the function cannot read the named property as a VT_BOOL type (using SHPropertyBag_ReadType), it fails, and returns the given default. The function interprets VARIANT_TRUE (0xFFFF) as TRUE and everything else as FALSE.


The SHPropertyBag_ReadBOOLOld function is exported from SHLWAPI as ordinal 498 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.