IWMDMStorage3::SetMetadata メソッド (mswmdm.h)
SetMetadata メソッドは、ストレージにメタデータを設定します。
構文
HRESULT SetMetadata(
[in] IWMDMMetaData *pMetadata
);
パラメーター
[in] pMetadata
オブジェクトに設定するメタデータを含む IWMDMMetaData ポインター。 このインターフェイスを作成するには、 CreateEmptyMetadataObject を呼び出します。
戻り値
このメソッドは HRESULT を返します。 Windows Media デバイス マネージャーのすべてのインターフェイス メソッドは、次のいずれかのエラー コード クラスを返すことができます。
- 標準 COM エラー コード
- HRESULT 値に変換された Windows エラー コード
- Windows Media デバイス マネージャーエラー コード
注釈
同じ名前のストレージ内の既存のプロパティが上書きされます。 他のすべての既存のプロパティは変更も失われません。
Windows ポータブル デバイス (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 |