IContactProperties::GetBinary Method
Retrieves the binary data of a property using an IStream interface [Structured Storage].
Syntax
HRESULT GetBinary( LPCWSTR pszPropertyName, DWORD dwFlags, LPWSTR pszContentType, DWORD cchContentType, DWORD *pdwcchContentTypeRequired, IStream** ppStream );
Parameters
- pszPropertyName
[in] Specifies the property to retrieve.- dwFlags
[in] Must be CGD_DEFAULT.- pszContentType
[in, out] Specifies user-allocated buffer to store the MIME content type.- cchContentType
[in] Specifies the allocated buffer size in characters.- pdwcchContentTypeRequired
[in, out] On failure, contains the required size for pszContentType.- ppStream
[out] On success, contains a new IStream interface [Structured Storage]. Use this to retrieve the binary data.
Return Value
Returns one of the following values:
S_OK ppStream contains an IStream interface [Structured Storage]. Caller must release the reference. S_FALSE No data for this value. Either the property has been present in the past but its value has been removed or the property is a container of other properties (toplevel/secondlevel[3]). The buffer at pszContentType has been zero'ed. ERROR_PATH_NOT_FOUND No data found for this property name. ERROR_INVALID_DATATYPE Unable to get value for this property due to schema. ERROR_INSUFFICIENT_BUFFER pszContentType was not large enough to store the value. The required buffer size is stored in pdwcchContentTypeRequired.
Remarks
To retrieve a single level property, set pszPropertyName to the property name.
To retrieve a value from a multi-value (hierarchical) property, include the desired index as part of pszPropertyName using the form: toplevel/secondlevel[1]/thirdlevel. NOTE: the first element of a set is index 1, so index [0] is invalid.
For deleted properties, this method returns S_OK and an IStream interface [Structured Storage] of zero length. NOTE: For properties not of binary type, this method may return incorrect data in the IStream.