IProviderMetadataUpgradeCallback::OnItemMetadataDeserialized
Возникает по одному разу для каждого элемента, считываемого из сериализованных метаданных.
HRESULT OnItemMetadataDeserialized(
IItemMetadata * pItemMetadata,
LPCWSTR * pcszExtraFieldNames,
IFieldValue ** ppExtraFieldValues,
BYTE cExtraFields);
Параметры
- pItemMetadata
[in] Метаданные элемента в обновленном формате.
- pcszExtraFieldNames
[in, size_is(cExtraFields)] Имена дополнительных полей, находящихся в сериализованных метаданных, но не указанных в списке пользовательских полей для новой схемы метаданных. Установите в значение NULL, если параметр cExtraFields имеет значение 0.
- ppExtraFieldValues
[in, size_is(cExtraFields)] Значения дополнительных полей, существующих в сериализованных метаданных, но не указанных в списке пользовательских полей для новой схемы метаданных. Установите в значение NULL, если параметр cExtraFields имеет значение 0.
- cExtraFields
[in] Количество дополнительных полей, находящихся в сериализованных метаданных, но не указанных в списке пользовательских полей для новой схемы метаданных.
Возвращаемое значение
S_OK
Коды ошибок, определяемые поставщиком
Замечания
Когда поставщик получает этот метод, он может проверить дополнительные поля, указанные в списках pcszExtraFieldNames и ppExtraFieldValues, и выполнить необходимые изменения для исправления метаданных элемента, например слияние данных из дополнительного поля в старой схеме с данными в существующем поле в обновленной схеме, содержащимися в параметре pItemMetadata.