複数値を持つ列の使用Working with Multivalued Columns

適用されます: OutlookApplies to: Outlook

複数値の列には、1 つの値ではなく基本データ型の値の配列を含むプロパティは、複数値を持つプロパティのデータが含まれています。A multivalued column contains the data of a multivalued property, which is a property that has an array of values of the base type instead of a single value. テーブルの [なし] は、複数値を持つプロパティの既定の列セットであるため、テーブルのユーザーが要求した場合のみ複数値を持つプロパティがテーブルに含まれます。Because none of the tables include multivalued properties in their default column sets, multivalued properties are included in a table only if the user of the table requests it.

複数値を持つ列は、テーブルに表示できます。Multivalued columns can be displayed in tables:

  • 1 つの行、列の 1 つのインスタンスに表示されるプロパティ値のすべてです。In a single row, with all of the property values appearing in the single column instance. これは、既定値です。This is the default.

    • または、Or -
  • 一連の行のプロパティ値ごとに 1 行にします。In a series of rows, with one row for each of the property values. そこに多数の行は、複数値を持つプロパティの値とする、そこに独自の行の列にそれぞれ一意の値が表示されます。Each unique value appears in the column in its own row with there being as many rows as there are values in the multivalued property. 各行では、 PR_INSTANCE_KEY (PidTagInstanceKey) プロパティでは、一意の値ですが、ほかの列と同じ値を持ちます。Each row has a unique value for the PR_INSTANCE_KEY (PidTagInstanceKey) property, but the same values for the other columns. 行に複数値を持つ 2 つ以上の列が含まれている場合たとえば、 _M_と_N_の 2 つの列それぞれ値は、[ _M*N_テーブルの行のインスタンスが表示されます。If a row contains more than one column with multiple values, for example, two columns with M and N values respectively, then M*N instances of the row appear in the table.

テーブルのユーザーは、メソッドを呼び出して、 IMAPITable::SetColumns MVI_FLAG フラグが設定されている複数値の列のプロパティの型での表示の既定値以外の種類を要求します。A table user requests the nondefault type of display by calling the IMAPITable::SetColumns method with the MVI_FLAG flag set in the property type of the multivalued column. MVI_FLAG フラグは、論理OR演算と MV_FLAG と MV_INSTANCE のフラグを組み合わせることの結果として定義されている定数です。The MVI_FLAG flag is a constant defined as the result of combining the MV_FLAG and MV_INSTANCE flags with a logical OR operation. SetColumnsで使用されているだけでなく MVI_FLAG 渡すこともできますIMAPITable::SortTableに、 _lpSortCriteria_パラメーターとIMAPITable::Restrictの_lpRestriction_のulPropTagのメンバーでパラメーターです。In addition to being used in SetColumns, MVI_FLAG can also be passed to IMAPITable::SortTable in the lpSortCriteria parameter and IMAPITable::Restrict in the ulPropTag member of the lpRestriction parameter. 渡されると、MVI_FLAG、 SortTableSetColumns、複数値を持つ列の値ごとに 1 つの行を追加して、インスタンス内の単一の値で並べ替えを同様に実行します。When passed the MVI_FLAG, SortTable performs similarly to SetColumns, adding one row for each value in the multivalued column and sorting on the single values in the instances. 値ごとに 1 つの行が追加されます。One row is added for each value.

だけに制限する、ただし、展開されない複数値を持つ列計算行にします。Restrict, however, does not expand the multivalued column into additional computed rows. MVI_FLAG セットを使用して複数値を持つ列は、テーブルを制限することでその列を使用するサービス プロバイダーに指示します。A multivalued column with the MVI_FLAG set instructs the service provider to use that column in restricting the table. 制約のプロパティの値がある場合と同じように列のIMAPITable::QueryRowsによって返される単一値プロパティ タグがあります。If there is a property value in the restriction, it must be a single value property tag identical to the one that would be returned by IMAPITable::QueryRows for the column.

テーブルの実装側では、既定の表示の種類をサポートするために必要なだけと、呼び出し元が他の選択を要求すると、MAPI_E_TOO_COMPLEX の値を返すことができます。Table implementers are only required to support the default type of display and can return the MAPI_E_TOO_COMPLEX value when a caller requests the other alternative. 両方の種類の表示をサポートする機能は、メッセージ ストア プロバイダーがフォルダーの内容テーブルを実装するために最も重要です。The ability to support both types of display is most important for message store providers implementing folder contents tables.

関連項目See also

MAPI テーブルMAPI Tables