IProviderMetadataUpgradeCallback::OnItemMetadataDeserialized

Occurs one time for each item that is read from the serialized metadata.

Syntax

HRESULT OnItemMetadataDeserialized(
  IItemMetadata * pItemMetadata,
  LPCWSTR * pcszExtraFieldNames,
  IFieldValue ** ppExtraFieldValues,
  BYTE cExtraFields);

Parameters

  • pItemMetadata
    [in] The metadata of the item in the upgraded format.

  • pcszExtraFieldNames
    [in, size_is(cExtraFields)] The names of extra fields that exist in the serialized metadata but that are not specified in the list of custom fields for the new metadata schema. Set to NULL if cExtraFields is 0.

  • ppExtraFieldValues
    [in, size_is(cExtraFields)] The values of extra fields that exist in the serialized metadata but that are not specified in the list of custom fields for the new metadata schema. Set to NULL if cExtraFields is 0.

  • cExtraFields
    [in] The number of extra fields that exist in the serialized metadata but that are not specified in the list of custom fields for the new metadata schema.

Return Value

  • S_OK

  • Provider-determined error codes

Remarks

When a provider receives this method, it can examine the extra fields listed in pcszExtraFieldNames and ppExtraFieldValues, and perform any necessary changes to fix up the item metadata, such as merging data from an extra field from the old schema into an existing field in the upgraded schema contained in pItemMetadata.

See Also

Reference

IProviderMetadataUpgradeCallback Interface