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

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

备注

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

另请参阅

IMAPITable : IUnknown