IProviderMetadataUpgradeCallback::OnItemMetadataDeserialized
对从序列化的元数据中读取的每个项发生一次。
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 中包含的升级架构的现有字段中。