IReplicaMetadata::GetUnreportedItemsByIndexedFields
Gibt eine Liste von Elementen zurück, die über den angegebenen Satz indizierter Feldwerte verfügen und im Metadatenspeicher derzeit nicht als aktiv und noch nicht als gelöscht markiert sind.
HRESULT GetUnreportedItemsByFieldValue (
LPCWSTR * ppcszCustomFieldNames,
IFieldValue ** ppFieldValues,
BYTE cCustomFields,
IItemMetadataEnumerator ** ppItemMetadataEnumerator);
Parameter
- ppcszCustomFieldNames
[in, size_is(cCustomFields)] Der Satz von indizierten Feldnamen, die die zu suchenden Elemente definieren.
- ppFieldValues
[in, size_is(cCustomFields)] Der Satz von indizierten Feldwerten, die die zu suchenden Elemente definieren. Diese Werte müssen die gleiche Reihenfolge wie die Namen in ppcszCustomFieldNames aufweisen.
- cCustomFields
[in] Die Anzahl von Einträgen in ppcszCustomFieldNames und in ppFieldValues.
- ppItemMetadataEnumerator
[out] Gibt die Liste von Elementen zurück, die über den angegebenen Satz indizierter Feldwerte verfügen und im Metadatenspeicher derzeit nicht als aktiv und noch nicht als gelöscht markiert sind.
Rückgabewert
S_OK
E_POINTER
E_OUTOFMEMORY
SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS, wenn ein Feld in ppcszCustomFieldNames beim Initialisieren der Metadaten nicht als Indexfeld angegeben wurde.
SYNC_E_METADATA_FIELD_INVALID_NAME, wenn ein Feldname in ppcszCustomFieldNames nicht vorhanden ist.
SYNC_E_METADATA_FIELD_INVALID_TYPE, wenn ein Feldwert in ppFieldValues nicht mit dem Typ des entsprechenden Felds übereinstimmt.
Hinweise
Wenn keine inaktiven Elemente mit den angegebenen indizierten Feldwerten vorhanden sind, wird ein leerer Enumerator zurückgegeben.
Diese Methode ist ein Teil des Diensts zum Verfolgen von Löschungen. Ein Element wird im Metadatenspeicher als aktiv markiert, wenn IReplicaMetadata::SaveItemMetadata für ein geändertes Element aufgerufen wird, oder wenn IReplicaMetadata::ReportLiveItemByIndexedFields oder IReplicaMetadata::ReportLiveItemByGlobalId für ein nicht geändertes, jedoch noch aktives Element aufgerufen wird. Ein Anbieter kann IReplicaMetadata::GetUnreportedItems
oder IReplicaMetadata::GetUnreportedItemsByIndexedFields aufrufen, um Elemente im Metadatenspeicher abzurufen, die nicht als aktiv gemeldet sind. Anschließend kann der Anbieter diese Elemente im Metadatenspeicher als gelöscht markieren.