HRESULT GetIDsFromNames(
ULONG cPropNames,
LPMAPINAMEID FAR * lppPropNames,
ULONG ulFlags,
LPSPropTagArray FAR * lppPropTags
);
Provides the property identifiers that correspond to one or more property names.
Returns one of the following values:
S_OK
The identifiers for the specified property names were successfully returned.
MAPI_E_NO_SUPPORT
The object does not support named properties.
MAPI_E_NOT_ENOUGH_MEMORY
Insufficient memory was available to retrieve the identifiers.
MAPI_E_TOO_BIG
The operation cannot be performed because it requires too many property tags be returned.
MAPI_W_ERRORS_RETURNED
The call succeeded overall, but one or more property identifiers could not be returned. The corresponding property type for each inaccessible property is set to PT_ERROR and its identifier to zero. When this warning is returned, handle the call as successful. To test for this warning, use the
FAILED macro.
cPropNames
Value that represents the number of property names pointed to by the lppPropNames parameter. If lppPropNames is NULL, the cPropNames parameter must be zero.
lppPropNames
Address of an array of property names, or NULL. Passing NULL requests property identifiers for all property names in all property sets about which the object has information. The lppPropNames parameter must not be NULL if the MAPI_CREATE flag is set in the ulFlags parameter.
ulFlags
Bitmask of flags that indicate how the property identifiers should be returned. The following flag can be set:
MAPI_CREATE
Assigns a property identifier to one or more of the names included in the property name array pointed to by lppPropNames if one has not yet been assigned. Internally registers the identifier in the name-to-identifier mapping table.
lppPropTags
Returned array structure of property tags containing existing or newly assigned property identifiers. The property types for the property tags in this array are set to PT_UNSPECIFIED.