Поделиться через


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.

См. также

Справочник

Интерфейс IProviderMetadataUpgradeCallback