ホーム › Media.DeviceManager › IWMDMOperation2
IWMDMOperation2
COM公式ドキュメント
アプリケーションが任意で実装する IWMDMOperation2 インターフェースは、拡張属性を取得および設定するメソッドを提供することで IWMDMOperation を拡張します。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 13 HRESULT SetObjectAttributes2(DWORD dwAttributes, DWORD dwAttributesEx, WAVEFORMATEX* pFormat, VIDEOINFOHEADER* pVideoFormat)
SetObjectAttributes2 メソッドは、ファイルまたはストレージの属性を設定します。このメソッドは現在、Windows Media Device Manager からは呼び出されません。
| dwAttributes | DWORD | in | IWMDMStorage::SetAttributes メソッドで定義される属性を指定する DWORD へのポインター。 |
| dwAttributesEx | DWORD | in | 拡張属性を指定する DWORD。拡張属性は現在定義されていません。 |
| pFormat | WAVEFORMATEX* | inoptional | オブジェクトのオーディオ情報を指定する _WAVEFORMATEX 構造体への省略可能なポインター。 |
| pVideoFormat | VIDEOINFOHEADER* | inoptional | オブジェクトのビデオ情報を指定する _VIDEOINFOHEADER 構造体への省略可能なポインター。 |
戻り値
アプリケーションは、次のいずれかの HRESULT 値を返す必要があります。
| 戻り値 | 説明 |
|---|---|
| 読み取り操作を続行します。 | |
| 読み取り操作を完了せずにキャンセルします。 | |
| 不特定のエラーが発生したため、読み取り操作を完了せずにキャンセルします。 |
vtbl 14 HRESULT GetObjectAttributes2(DWORD* pdwAttributes, DWORD* pdwAttributesEx, WAVEFORMATEX* pAudioFormat, VIDEOINFOHEADER* pVideoFormat)
Windows Media Device Manager は、ファイルがデバイスに書き込まれる際に、そのファイルの属性を取得するために GetObjectAttributes を呼び出します。
| pdwAttributes | DWORD* | out | IWMDMStorage::GetAttributes メソッドで定義されるストレージ属性を指定する DWORD へのポインター。 |
| pdwAttributesEx | DWORD* | out | 拡張属性を指定する DWORD へのポインター。拡張属性は現在定義されていません。 |
| pAudioFormat | WAVEFORMATEX* | inoutoptional | オーディオファイルの属性を指定する _WAVEFORMATEX 構造体への省略可能なポインター。 |
| pVideoFormat | VIDEOINFOHEADER* | inoutoptional | ビデオオブジェクトの属性を指定する _VIDEOINFOHEADER 構造体への省略可能なポインター。 |
戻り値
アプリケーションは、次のいずれかの HRESULT 値を返す必要があります。
| 戻り値 | 説明 |
|---|---|
| 読み取り操作を続行します。 | |
| 読み取り操作を完了せずにキャンセルします。 | |
| 不特定のエラーが発生したため、読み取り操作を完了せずにキャンセルします。 |
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWMDMOperation2 "{33445B48-7DF7-425C-AD8F-0FC6D82F9F75}" #usecom global IWMDMOperation2 IID_IWMDMOperation2 "{}" #comfunc global IWMDMOperation2_SetObjectAttributes2 13 int,int,var,var #comfunc global IWMDMOperation2_GetObjectAttributes2 14 var,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWMDMOperation2 "{33445B48-7DF7-425C-AD8F-0FC6D82F9F75}" #usecom global IWMDMOperation2 IID_IWMDMOperation2 "{}" #comfunc global IWMDMOperation2_SetObjectAttributes2 13 int,int,sptr,sptr #comfunc global IWMDMOperation2_GetObjectAttributes2 14 sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。