Share via


CreateTable

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 structures and an object handle for an ITableData object which can be used to create table contents.

Header file:

Mapiutil.h

Implemented by:

MAPI

Called by:

Client applications and service providers

SCODE CreateTable(
  LPCIID lpInterface,
  ALLOCATEBUFFER FAR * lpAllocateBuffer,
  ALLOCATEMORE FAR * lpAllocateMore,
  FREEBUFFER FAR * lpFreeBuffer,
  LPVOID lpvReserved,
  ULONG ulTableType,
  ULONG ulPropTagIndexColumn,
  LPSPropTagArray lpSPropTagArrayColumns,
  LPTABLEDATA FAR * lppTableData
);

Parameters

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

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

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

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

  • lpvReserved
    [in] Reserved; must be zero.

  • ulTableType
    [in] A table type that is available to a client application or service provider as part of the IMAPITable::GetStatus return data on its table views. Possible values are:

    • TBLTYPE_DYNAMIC
      The table's contents are dynamic and can change as the underlying data changes.

    • TBLTYPE_KEYSET
      The rows in the table are fixed, but the values in these rows are dynamic and can change as the underlying data changes.

    • TBLTYPE_SNAPSHOT
      The table is static and the contents do not change when the underlying data changes.

  • ulPropTagIndexColumn
    [in] Index number of the column for use when changing table data.

  • lpSPropTagArrayColumns
    [in] Pointer to an SPropTagArray structure that contains an array of property tags indicating the properties required in the table for which the object holds data.

  • lppTableData
    [out] Pointer to a pointer to the returned table data object.

Return Value

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

Remarks

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

See Also

Reference

IMAPITable : IUnknown