iWMDMStorage3::SetMetadata 方法 (mswmdm.h)
SetMetadata 方法设置存储上的元数据。
语法
HRESULT SetMetadata(
[in] IWMDMMetaData *pMetadata
);
参数
[in] pMetadata
包含要对对象设置的元数据的 IWMDMMetaData 指针。 若要创建此接口,请调用 CreateEmptyMetadataObject。
返回值
该方法返回 HRESULT。 Windows Media 设备管理器 中的所有接口方法都可以返回以下任一类错误代码:
- 标准 COM 错误代码
- 转换为 HRESULT 值的 Windows 错误代码
- Windows Media 设备管理器错误代码
注解
将覆盖存储中具有相同名称的现有属性。 所有其他现有属性不会修改或丢失。
若要设置 Windows Portable Devices (WPD) 设备的属性,应用程序将创建 一个 IPortableDeviceValues 对象并将每个属性设置为此集合。 然后,应用程序会将集合序列化为 BLOB) (二进制大型对象。 序列化数据后,应用程序将使用g_wszWPDPassthroughPropertyValues元数据常量将其添加到 pMetadata 参数引用的 IWMDMMetaData。
示例
以下 C++ 代码使用以前从存储中检索的 IWMDMMetaData 接口将副标题作为元数据添加到存储 (pStorage3) , () 不显示。
// Set metadata values on a storage.
WCHAR* station = L"Mysubtitle";
UINT numBytes = (wcslen(station) + 1) * sizeof(WCHAR); // WCHAR string is 2 * length of characters long
// plus the terminating null character.
hr = pMetadata->AddItem(WMDM_TYPE_STRING, g_wszWMDMMediaStationName, (BYTE*)station, numBytes) ;
BREAK_HR(hr, "Added a metadata value to the interface in TestUpdateMetadata.", "Couldn't add a metadata value to the interface in TestUpdateMetadata.");
// Add the metadata to the storage.
hr = pStorage3->SetMetadata(pMetadata);
BREAK_HR(hr, "Set metadata on the storage in TestUpdateMetadata.", "Couldn't set metadata on the storage in TestUpdateMetadata: " << hex << hr << dec);
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |