傳回具有所指定索引欄位值的唯一項目中繼資料項目。
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。