IMAPITable::ExpandRow
適用対象: Outlook 2013 | Outlook 2016
折りたたまれたテーブル カテゴリを展開し、そのカテゴリに属するリーフまたは下位レベルの見出し行をテーブル ビューに追加します。
HRESULT ExpandRow(
ULONG cbInstanceKey,
LPBYTE pbInstanceKey,
ULONG ulRowCount,
ULONG ulFlags,
LPSRowSet FAR * lppRows,
ULONG FAR * lpulMoreRows
);
パラメーター
cbInstanceKey
[in] pbInstanceKey パラメーターによって指されるPR_INSTANCE_KEY プロパティ内のバイト数。
pbInstanceKey
[in]カテゴリの見出し行を識別する PR_INSTANCE_KEY (PidTagInstanceKey) プロパティへのポインター。
ulRowCount
[in] lppRows パラメーターで返される行の最大数。
ulFlags
予約;は 0 にする必要があります。
lppRows
[out]展開の結果としてテーブル ビューに挿入された最初の (ulRowCount まで) 行を受け取る SRowSet 構造体へのポインター。 これらの行は、 pbInstanceKey パラメーターによって識別される見出し行の後に挿入されます。 ulRowCount パラメーターが 0 の場合、lppRows パラメーターは NULL にすることができます。
lpulMoreRows
[out]テーブル ビューに追加された行の合計数へのポインター。
戻り値
S_OK
カテゴリが正常に展開されました。
MAPI_E_NOT_FOUND
pbInstanceKey パラメーターによって識別される行が存在しません。
注釈
IMAPITable::ExpandRow メソッドは、折りたたまれたテーブル カテゴリを展開し、カテゴリに属するリーフまたは下位レベルの見出し行をテーブル ビューに追加します。 lppRows パラメーターで返される行数の制限は、ulRowCount パラメーターで指定できます。 ulRowCount を 0 より大きい値に設定し、lppRows が指す行セットに 1 つ以上の行が返されると、ブックマーク BOOKMARK_CURRENTの位置は、行セット内の最後の行のすぐ後の行に移動されます。
ulRowCount を 0 に設定し、0 個のリーフまたは下位レベルの見出し行をカテゴリに追加するか、カテゴリにリーフまたは下位レベルの見出し行がないために 0 行が返されるように要求すると、BOOKMARK_CURRENTの位置は pbInstanceKey によって識別された行の後の行に設定されます。
実装に関するメモ
カテゴリ拡張のためにテーブル ビューに追加された行に対して通知を生成しないでください。
呼び出し側への注意
lppRows パラメーターが指す行セット内の行数が、テーブルに実際に追加された行の数、カテゴリのリーフまたは下位レベルの見出し行のセット全体と等しくない場合があります。 メモリ不足や、 ulRowCount パラメーターで指定された数を超えるカテゴリ内の行数など、エラーが発生する可能性があります。 どちらの場合も、BOOKMARK_CURRENTは、返された最後の行に配置されます。 カテゴリ内の残りの行をすぐに取得するには、 IMAPITable::QueryRows を呼び出します。
カテゴリの状態が変更されたときに、テーブル通知を受け取るとは思わないでください。 ExpandRow または CollapseRow 呼び出しごとに更新できる行のローカル キャッシュを維持できます。
分類されたテーブルの詳細については、「 並べ替えと分類」を参照してください。
MFCMAPI リファレンス
MFCMAPI のサンプル コードについては、次の表を参照してください。
ファイル | 関数 | コメント |
---|---|---|
ContentsTableListCtrl.cpp |
CContentsTableListCtrl::D oExpandCollapse |
MFCMAPI では、 IMAPITable::ExpandRow メソッドを使用して、折りたたまれたテーブル カテゴリを展開します。 |