This documentation is archived and is not being maintained.


This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Creates a property data object, that is, an IPropData object.

Header file:


Implemented by:


Called by:

Client applications and service providers

SCODE CreateIProp(
  LPCIID lpInterface,
  ALLOCATEBUFFER FAR * lpAllocateBuffer,
  ALLOCATEMORE FAR * lpAllocateMore,
  FREEBUFFER FAR * lpFreeBuffer,
  LPVOID lpvReserved,
  LPPROPDATA FAR * lppPropData


[in] Pointer to an interface identifier (IID) for the property data object. The valid interface identifier is IID_IMAPIPropData. Passing NULL in the lpInterface parameter also causes the property data object returned in the lppPropData parameter to be cast to the standard interface for a property data object.


[in] Pointer to the MAPIAllocateBuffer function, to be used to allocate memory.


[in] Pointer to the MAPIAllocateMore function, to be used to allocate additional memory.


[in] Pointer to the MAPIFreeBuffer function, to be used to free memory.


[in] Reserved; must be zero.


[out] Pointer to a pointer to the returned property data object.


The call succeeded and has returned the expected value or values.


The requested interface is not supported for this object.

The lpAllocateBuffer, lpAllocateMore, and lpFreeBuffer input parameters point to the MAPIAllocateBuffer, MAPIAllocateMore, and MAPIFreeBuffer functions, respectively. A client application calling CreateIProp passes in pointers to the MAPI functions just named; a service provider passes the pointers to these functions it received in its initialization call or retrieved with a call to the IMAPISupport::GetMemAllocRoutines method.