CreateTable

适用于:Outlook 2013 | Outlook 2016

创建可用于创建表内容的 ITableData 对象的结构和对象句柄。

属性
标头文件:
Mapiutil.h
实现者:
MAPI
调用者:
客户端应用程序和服务提供商
SCODE CreateTable(
  LPCIID lpInterface,
  ALLOCATEBUFFER FAR * lpAllocateBuffer,
  ALLOCATEMORE FAR * lpAllocateMore,
  FREEBUFFER FAR * lpFreeBuffer,
  LPVOID lpvReserved,
  ULONG ulTableType,
  ULONG ulPropTagIndexColumn,
  LPSPropTagArray lpSPropTagArrayColumns,
  LPTABLEDATA FAR * lppTableData
);

参数

lpInterface

[in]指向表数据 (IID) 接口标识符的指针。 有效的接口标识符IID_IMAPITableData。 在 lpInterface 参数中传递 NULL 还会导致 lppTableData 参数中返回的表数据对象被强制转换到表数据对象的标准接口。

lpAllocateBuffer

[in]指向 MAPIAllocateBuffer 函数的指针,用于分配内存。

lpAllocateMore

[in]指向 MAPIAllocateMore 函数的指针,用于分配额外的内存。

lpFreeBuffer

[in]指向 MAPIFreeBuffer 函数的指针,用于释放内存。

lpvReserved

[in]保留;必须为零。

ulTableType

[in]作为 IMAPITable::GetStatus 的一部分提供给客户端应用程序或服务提供商的表类型在其表视图上返回数据。 可能的值是:

TBLTYPE_DYNAMIC

该表的内容是动态的,并且可能会随着基础数据的变化而更改。

TBLTYPE_KEYSET

表中的行是固定的,但这些行中的值是动态的,并且可能会随着基础数据的变化而更改。

TBLTYPE_SNAPSHOT

该表是静态表,在基础数据更改时不会更改内容。

ulPropTagIndexColumn

[in]更改表数据时使用的列的索引号。

lpSPropTagArrayColumns

[in]指向 SPropTagArray 结构的指针,该结构包含一组属性标记,指示对象保存数据的表中所需的属性。

lppTableData

[out]指向返回的表数据对象的指针的指针。

返回值

S_OK

调用成功并返回了预期值。

备注

_lpAllocateBuffer、_lpAllocateMorelpFreeBuffer 输入参数分别指向 MAPIAllocateBufferMAPIAllocateMoreMAPIFreeBuffer 函数。 调用 CreateTable 的客户端应用程序将传递指向刚命名的 MAPI 函数的指针;服务提供商将指针传递给其在其初始化调用中收到的或通过调用 IMAPISupport::GetMemAllocRoutines 方法检索的函数。

另请参阅

IMAPITable : IUnknown