報告由索引欄位值識別的項目仍在使用中,不應視為已刪除。
HRESULT ReportLiveItemByIndexedFields(
LPCWSTR * ppcszCustomFieldNames,
IFieldValue ** ppFieldValues,
BYTE cCustomFields);
參數
- ppcszCustomFieldNames
[in, size_is(cCustomFields)] 索引欄位名稱的集合,用來定義要報告為使用中的項目。
- ppFieldValues
[in, size_is(cCustomFields)] 索引欄位值的集合,用來定義要報告為使用中的項目。這些值的順序必須與 ppcszCustomFieldNames 中名稱的順序相同。
- cCustomFields
[in] ppcszCustomFieldNames 中和 ppFieldValues 中項目的數目。
傳回值
S_OK
E_POINTER
如果 ppcszCustomFieldNames 中的欄位未在中繼資料初始化時指定為索引欄位,則為 SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS。
如果 ppcszCustomFieldNames 中的欄位名稱不存在,則為 SYNC_E_METADATA_FIELD_INVALID_NAME。
如果 ppFieldValues 中的欄位值與對應欄位的類型不相符,則為 SYNC_E_METADATA_FIELD_INVALID_TYPE。
如果中繼資料存放區內找不到符合的項目,則為 SYNC_E_METADATA_ITEM_NOT_FOUND。
備註
這個方法是刪除偵測服務的一部分。如果對已變更項目呼叫了 IReplicaMetadata::SaveItemMetadata,或對未變更但仍為使用中的項目呼叫了 IReplicaMetadata::ReportLiveItemByIndexedFields 或 IReplicaMetadata::ReportLiveItemByGlobalId,項目會在中繼資料存放區內標示為使用中。提供者可以呼叫 IReplicaMetadata::GetUnreportedItems 或 IReplicaMetadata::GetUnreportedItemsByIndexedFields 來取得存在中繼資料存放區內但並未報告為使用中的項目。然後提供者就可以將這些項目在中繼資料存放區內標示為已刪除。