BuildDisplayTable
適用対象: Outlook 2013 | Outlook 2016
1 つ以上の DTPAGE 構造体に含まれるプロパティ ページ データから表示テーブルを作成します。
プロパティ | 値 |
---|---|
ヘッダー ファイル: |
Mapiutil.h |
実装元: |
MAPI |
呼び出し元: |
サービス プロバイダー |
STDAPI BuildDisplayTable(
LPALLOCATEBUFFER lpAllocateBuffer,
LPALLOCATEMORE lpAllocateMore,
LPFREEBUFFER lpFreeBuffer,
LPMALLOC lpMalloc,
HINSTANCE hInstance,
UINT cPages,
LPDTPAGE lpPage,
ULONG ulFlags,
LPMAPITABLE * lppTable,
LPTABLEDATA * lppTblData
);
パラメーター
lpAllocateBuffer
[in]メモリの割り当てに使用する MAPIAllocateBuffer 関数へのポインター。
lpAllocateもっと
[in]追加のメモリを割り当てるために使用する MAPIAllocateMore 関数へのポインター。
lpFreeBuffer
[in]メモリを解放するために使用する MAPIFreeBuffer 関数へのポインター。
lpMalloc
未使用;は NULL に設定する必要があります。
Hinstance
[in] BuildDisplayTable がリソースを取得する MAPI オブジェクトのインスタンス。
cPages
[in]lpPage パラメーターによって指される配列内の DTPAGE 構造体の数。
lpPage
[in]ビルドする表示テーブル ページに関する情報を含む DTPAGE 構造体の配列へのポインター。
ulFlags
[in]フラグのビットマスク。 次のフラグを設定できます。
MAPI_UNICODE
渡された文字列は Unicode 形式です。 MAPI_UNICODE フラグが設定されていない場合、文字列は ANSI 形式です。
lppTable
[out] IMAPITable インターフェイスを公開する表示テーブルへのポインターへのポインター。
lppTblData
[in, out]lppTable パラメーターで返されるテーブルの ITableData インターフェイスを公開するテーブル データ オブジェクトへのポインターへのポインター。 テーブル データ オブジェクトが必要ない場合は、ポインター値の代わりに lppTblData を NULL に設定する必要があります。
戻り値
なし
注釈
MAPI では、ほとんどのメモリ割り当てと割り当て解除に lpAllocateBuffer、lpAllocateMore、lpFreeBuffer が指す関数を使用します。特に、IMAPIProp::GetProps や IMAPITable::QueryRows などのオブジェクト インターフェイスを呼び出すときにクライアント アプリケーションで使用するメモリを割り当てます。
呼び出し側への注意
可能なすべてのものは、次のようなダイアログ リソースから読み取られます。
ページ タイトル (DTBLPAGE 構造体の ulbLpszLabel メンバー) は、リソース内のダイアログ タイトルから読み取られます。
その他のコントロール構造体の ulbLpszLabel メンバーであるすべてのコントロール タイトルは、リソース内のコントロール テキストから読み取られます。
BuildDisplayTable は 、入力コントロール構造体で渡された内容をダイアログ リソースからの情報で上書きします。つまり、 BuildDisplayTable の呼び出し元は、ページタイトルまたはコントロール タイトルを動的に指定できません。 これを行う必要がある呼び出し元は 、BuildDisplayTable に lppTableData 内のテーブル データ オブジェクトを返し、その中の行を変更できます。または、代わりにテーブル データ オブジェクトで手動で表示テーブルを構築することもできます。
lppTableData が NULL に設定されていない場合、プロバイダーは、表示テーブルが終了したときにテーブル データ オブジェクトを解放する責任を負います。