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 に含まれているアップグレードされたスキーマの既存のフィールドにマージします)。