Geoff Chappell - Software Analyst
This function asks a property bag to write the members of a POINTL structure as values of a pair of named properties.
HRESULT SHPropertyBag_WritePOINTL ( IPropertyBag *ppb, LPCWSTR pszPropName, const POINTL *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 pair.
The pValue argument provides the address of the POINTL structure.
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 two properties are formed by appending “.x” and “.y” to the base name of the pair. If this cannot be done within MAX_PATH characters, the function fails, with E_FAIL as the error code. The x and y members of the POINTL become respectively the LONG values of the “.x” and “.y” properties. If the function cannot write each property (using SHPropertyBag_WriteLONG), it fails.
The SHPropertyBag_WritePOINTL function is exported from SHLWAPI as ordinal 522 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.