次の方法で共有


IReplicaMetadata::FindItemMetadataByUniqueIndexedFields

指定した値がインデックス付きフィールドに含まれている一意の項目メタデータ エントリを返します。

構文

HRESULT FindItemMetadataByUniqueIndexedFields(
  LPCWSTR * ppcszCustomFieldNames,
  IFieldValue ** ppFieldValues,
  BYTE cCustomFields,
  IItemMetadata ** ppItemMetadata);

パラメーター

  • ppcszCustomFieldNames
    [in, size_is(cCustomFields)] 検索対象項目を定義するインデックス付きフィールド名のセット。これらのフィールド名は、ISyncMetadataStore::InitializeReplicaMetadata を呼び出したときにインデックスの指定に使用した順序と同じにする必要があります。

  • ppFieldValues
    [in, size_is(cCustomFields)] 検索対象項目を定義するインデックス付きフィールド値のセット。これらの値は、ppcszCustomFieldNames に指定されている名前と同じ順序にする必要があります。

  • cCustomFields
    [in] ppcszCustomFieldNames および ppFieldValues のエントリ数。

  • ppItemMetadata
    [out] 指定された値をインデックス付きフィールドに持つ一意の項目メタデータ エントリを返します。

戻り値

  • S_OK

  • 一致する項目が見つからない場合は S_FALSE。

  • E_POINTER

  • メタデータが初期化されたときに、ppcszCustomFieldNames のフィールドを一意のインデックス付きフィールドとして指定しなかった場合は SYNC_E_METADATA_QUERY_REQUIRES_UNIQUE_INDEXED_FIELDS。

  • メタデータが初期化されたときに、ppcszCustomFieldNames のフィールドをインデックス付きフィールドと指定しなかった場合は SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS。

  • ppcszCustomFieldNames のフィールド名が存在しない場合は SYNC_E_METADATA_FIELD_INVALID_NAME。

  • ppFieldValues のフィールド値が、対応するフィールドの型と一致しない場合は SYNC_E_METADATA_FIELD_INVALID_TYPE。

説明

カスタム フィールドは、レプリカ メタデータを初めて初期化するときに、CUSTOM_FIELD_DEFINITION 構造体のリストを ISyncMetadataStore::InitializeReplicaMetadata に渡して確立する必要があります。

インデックス フィールドは、レプリカ メタデータを初めて初期化するときに、CUSTOM_FIELDS_INDEX 構造体のリストを ISyncMetadataStore::InitializeReplicaMetadata に渡して確立し、一意とマーク付けする必要があります。

関連項目

その他の技術情報

IReplicaMetadata インターフェイス