次の方法で共有


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 では、ほとんどのメモリ割り当てと割り当て解除に lpAllocateBufferlpAllocateMorelpFreeBuffer が指す関数を使用します。特に、IMAPIProp::GetProps や IMAPITable::QueryRows などのオブジェクト インターフェイスを呼び出すときにクライアント アプリケーションで使用するメモリを割り当てます。

呼び出し側への注意

可能なすべてのものは、次のようなダイアログ リソースから読み取られます。

  • ページ タイトル (DTBLPAGE 構造体の ulbLpszLabel メンバー) は、リソース内のダイアログ タイトルから読み取られます。

  • その他のコントロール構造体の ulbLpszLabel メンバーであるすべてのコントロール タイトルは、リソース内のコントロール テキストから読み取られます。

BuildDisplayTable は 、入力コントロール構造体で渡された内容をダイアログ リソースからの情報で上書きします。つまり、 BuildDisplayTable の呼び出し元は、ページタイトルまたはコントロール タイトルを動的に指定できません。 これを行う必要がある呼び出し元は 、BuildDisplayTablelppTableData 内のテーブル データ オブジェクトを返し、その中の行を変更できます。または、代わりにテーブル データ オブジェクトで手動で表示テーブルを構築することもできます。

lppTableData が NULL に設定されていない場合、プロバイダーは、表示テーブルが終了したときにテーブル データ オブジェクトを解放する責任を負います。