共用方式為


IReplicaMetadata::GetUnreportedItemsByIndexedFields

傳回具有指定的索引欄位值集合、目前在中繼資料存放區內未標示為使用中,而且尚未標示為已刪除的項目清單。

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::ReportLiveItemByIndexedFieldsIReplicaMetadata::ReportLiveItemByGlobalId,項目會在中繼資料存放區內標示為使用中。提供者可以呼叫 IReplicaMetadata::GetUnreportedItems IReplicaMetadata::GetUnreportedItemsByIndexedFields 來取得在中繼資料存放區內但不報告為作用中的項目。然後提供者就可以將這些項目在中繼資料存放區內標示為已刪除。

請參閱

參考

IReplicaMetadata 介面