共用方式為


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 介面