傳回具有指定的索引欄位值集合、目前在中繼資料存放區內未標示為使用中,而且尚未標示為已刪除的項目清單。
HRESULT GetUnreportedItemsByFieldValue (
LPCWSTR * ppcszCustomFieldNames,
IFieldValue ** ppFieldValues,
BYTE cCustomFields,
IItemMetadataEnumerator ** ppItemMetadataEnumerator);
參數
- ppcszCustomFieldNames
[in, size_is(cCustomFields)] 定義要搜尋之項目的索引欄位名稱集合。
- ppFieldValues
[in, size_is(cCustomFields)] 定義要搜尋之項目的索引欄位值集合。這些值的順序必須與 ppcszCustomFieldNames 中名稱的順序相同。
- cCustomFields
[in] ppcszCustomFieldNames 中和 ppFieldValues 中項目的數目。
- ppItemMetadataEnumerator
[out] 傳回具有指定的索引欄位值集合、目前在中繼資料存放區內未標示為使用中,而且尚未標示為已刪除的項目清單。
傳回值
S_OK
E_POINTER
E_OUTOFMEMORY
如果 ppcszCustomFieldNames 中的欄位未在中繼資料初始化時指定為索引欄位,則為 SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS。
如果 ppcszCustomFieldNames 中的欄位名稱不存在,則為 SYNC_E_METADATA_FIELD_INVALID_NAME。
如果 ppFieldValues 中的欄位值與對應欄位的類型不相符,則為 SYNC_E_METADATA_FIELD_INVALID_TYPE。
備註
如果沒有任何非使用中項目具有所指定的索引欄位值,就會傳回空的列舉值。
這個方法是刪除偵測服務的一部分。如果對已變更項目呼叫了 IReplicaMetadata::SaveItemMetadata,或對未變更但仍為使用中的項目呼叫了 IReplicaMetadata::ReportLiveItemByIndexedFields 或 IReplicaMetadata::ReportLiveItemByGlobalId,項目會在中繼資料存放區內標示為使用中。提供者可以呼叫 IReplicaMetadata::GetUnreportedItems 或 IReplicaMetadata::GetUnreportedItemsByIndexedFields 來取得在中繼資料存放區內但不報告為作用中的項目。然後提供者就可以將這些項目在中繼資料存放區內標示為已刪除。