IWMDMStorage4::GetSpecifiedMetadata 方法 (mswmdm.h)
GetSpecifiedMetadata 方法會從記憶體擷取一或多個特定的元數據屬性。
語法
HRESULT GetSpecifiedMetadata(
[in] DWORD cProperties,
[in] LPCWSTR *ppwszPropNames,
[out] IWMDMMetaData **ppMetadata
);
參數
[in] cProperties
要擷取的屬性計數。
[in] ppwszPropNames
要擷取的屬性名稱陣列。 這個陣列的長度應該等於 cProperties。 應用程式應該使用 CoTaskMemFree 釋放此記憶體。
[out] ppMetadata
傳回 之 IWMDMMetaData 介面指標的指標,其中包含擷取的值。 呼叫端必須在完成時釋放這個介面。
傳回值
方法會傳回 HRESULT。 Windows Media 中的所有介面方法 裝置管理員 都可以傳回下列任何錯誤碼類別:
- 標準 COM 錯誤碼
- 轉換成 HRESULT 值的 Windows 錯誤碼
- Windows Media 裝置管理員 錯誤碼
備註
這個方法可讓用戶端控制擷取哪些屬性。 這比 IWMDMStorage3::GetMetadata 更有效率,而且當用戶端只需要記憶體支援的屬性子集時,建議這麼做。
如果使用此方法從 Windows 可攜式裝置擷取數據 (WPD) 裝置,則會以 IPortableDeviceValues 物件中的二進位格式傳回數據。 應用程式應該取消串行化此數據,以取得實際的屬性值。
即使某些指定的屬性無法擷取 (,但) 擷取至少一個屬性,方法仍會成功並傳回WMDM_S_NOT_ALL_PROPERTIES_RETRIEVED。 如果無法擷取任何指定的屬性,方法就會失敗並傳回WMDM_E_NOTSUPPORTED。
要求單一屬性是這個方法的特殊案例。 如果用戶端要求單一屬性,可能的傳回碼會S_OK、E_INVALIDARG和WMDM_E_NOTSUPPORTED。 因此,在單一屬性的情況下,只有在成功擷取屬性時,方法才會成功。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |
程式庫 | Mssachlp.lib |