Share via


IProviderMetadataUpgradeCallback::OnItemMetadataDeserialized

シリアル化されたメタデータから読み取られる各項目に対して 1 回発生します。

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

パラメーター

  • pItemMetadata
    [in] アップグレードされた形式の項目のメタデータです。
  • pcszExtraFieldNames
    [in, size_is(cExtraFields)] シリアル化されたメタデータに存在しても、新しいメタデータ スキーマのカスタム フィールドの一覧に指定されていない追加フィールドの名前です。cExtraFields が 0 の場合は、NULL に設定します。
  • ppExtraFieldValues
    [in, size_is(cExtraFields)] シリアル化されたメタデータに存在しても、新しいメタデータ スキーマのカスタム フィールドの一覧に指定されていない追加フィールドの値です。cExtraFields が 0 の場合は、NULL に設定します。
  • cExtraFields
    [in] シリアル化されたメタデータに存在しても、新しいメタデータ スキーマのカスタム フィールドの一覧に指定されていない追加フィールドの数です。

戻り値

  • S_OK

  • プロバイダーが決定したエラー コード

解説

プロバイダーは、このメソッドを受け取ると、pcszExtraFieldNames および ppExtraFieldValues に示されている追加フィールドを調査し、項目のメタデータを修正するために必要な変更を実行します (たとえば、古いスキーマの追加フィールドのデータを pItemMetadata に含まれているアップグレードされたスキーマの既存のフィールドにマージします)。

参照

リファレンス

IProviderMetadataUpgradeCallback インターフェイス