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

Type: LPCWSTR

Specifies the property to retrieve.

dwFlags

Type: DWORD

Must be CGD_DEFAULT.

pszContentType

Type: LPWSTR

Specifies user-allocated buffer to store the MIME content type.

cchContentType

Type: DWORD

Specifies the allocated buffer size in characters.

pdwcchContentTypeRequired

Type: DWORD*

On failure, contains the required size for pszContentType.

ppStream

Type: IStream**

On success, contains a new IStream interface [Structured Storage]. Use this to retrieve the binary data.

Return Value

Type: HRESULT

Returns one of the following values:

Return code Description
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.

Requirements

   
Windows version Windows Vista [desktop apps only] Windows Server 2003 [desktop apps only]
Target Platform Windows
Header icontact.h (include Contact.h)
DLL Wab32.dll (Version 6.0 or later)