Last modified: January 16, 2009

Applies to: Office 2010 | Outlook 2010 | Visual Studio

In this article
Notes to Implementers
Notes to Callers
MFCMAPI Reference

Returns property tags for all properties.

HRESULT GetPropList(
  ULONG ulFlags,
  LPSPropTagArray FAR * lppPropTagArray


[in] A bitmask of flags that controls the format for the strings in the returned property tags. The following flag can be set:


The returned strings are in Unicode format. If the MAPI_UNICODE flag is not set, the strings are in ANSI format.


[out] A pointer to a pointer to the property tag array that contains tags for all of the object's properties.


All of the property tags were returned successfully.


Either the MAPI_UNICODE flag was set and the implementation does not support Unicode, or MAPI_UNICODE was not set and the implementation supports only Unicode.

The IMAPIProp::GetPropList method retrieves the property tag for each property currently supported by an object. If the object does not currently support any properties, GetPropList returns a property tag array with the cValues member set to 0.

The scope of properties returned by GetPropList varies from provider to provider. Some service providers exclude those properties for which the caller does not have access. All providers return properties of type PT_OBJECT.

If the object does not support Unicode, GetPropList returns MAPI_E_BAD_CHARWIDTH, even if there are no string properties defined for the object.

Remote transport providers implement GetPropList exactly as specified here. There are no special concerns. Your implementation should, of course, return the same list of properties as supported by the IMAPIProp::GetProps method.

Call the MAPIFreeBuffer function to free the property tag array pointed to by lppPropTagArray .

For MFCMAPI sample code, see the following table.






MFCMAPI uses the IMAPIProp::GetPropList method to get a property list to pass to GetProps.