次の方法で共有


複数値列の操作

適用対象: Outlook 2013 | Outlook 2016

複数値列には、複数値プロパティのデータが含まれます。これは、単一の値ではなく、基本型の値の配列を持つプロパティです。 既定の列セットに複数値のプロパティが含まれるテーブルがないため、テーブルのユーザーが要求した場合にのみ、複数値のプロパティがテーブルに含まれます。

複数値の列をテーブルに表示できます。

  • 1 つの行で、すべてのプロパティ値が 1 つの列インスタンスに表示されます。 これが既定です。

    • または-
  • 一連の行で、プロパティ値ごとに 1 行。 各一意の値は、複数値プロパティの値と同じ数の行がある、独自の行の列に表示されます。 各行には、 PR_INSTANCE_KEY (PidTagInstanceKey) プロパティの一意の値がありますが、他の列の値は同じです。 複数の値を持つ複数の列 (たとえば、 それぞれ MN の値を持つ 2 つの列) が行に含まれている場合、その行の M*N インスタンスがテーブルに表示されます。

テーブル ユーザーは、複数値列のプロパティ型に MVI_FLAG フラグを設定して IMAPITable::SetColumns メソッドを呼び出して、既定以外の種類の表示を要求します。 MVI_FLAG フラグは、MV_FLAGフラグとMV_INSTANCEフラグを論理 OR 演算と組み合わせた結果として定義される定数です。 SetColumns で使用されるだけでなく、MVI_FLAG lpSortCriteria パラメーターの IMAPITable::SortTablelpRestriction パラメーターの ulPropTag メンバーの IMAPITable::Restrict にも渡すことができます。 MVI_FLAGを渡すと、 SortTableSetColumns と同様に実行し、複数値列の値ごとに 1 行を追加し、インスタンス内の 1 つの値を並べ替えます。 値ごとに 1 行が追加されます。

ただし、複数値の列を追加の計算行に拡張しません。 MVI_FLAGが設定された複数値の列は、テーブルを制限する際にその列を使用するようにサービス プロバイダーに指示します。 制限にプロパティ値がある場合は、列の IMAPITable::QueryRows によって返される値と同じ単一の値プロパティ タグである必要があります。

テーブル実装者は、既定の種類の表示をサポートするためにのみ必要であり、呼び出し元が他の代替を要求したときにMAPI_E_TOO_COMPLEX値を返すことができます。 両方の種類の表示をサポートする機能は、フォルダー コンテンツ テーブルを実装するメッセージ ストア プロバイダーにとって最も重要です。

関連項目

MAPI テーブル