Win32 API 日本語リファレンス
ホームMedia.DeviceManager › IWMDMProgress2

IWMDMProgress2

COM
IID3a43f550-b383-4e92-b04a-e6bbc660fefc継承元IWMDMProgress自前メソッド開始 vtbl6

公式ドキュメント

オプションでアプリケーションが実装する IWMDMProgress2 インターフェイスは、状態インジケーターを提供することで IWMDMProgress::End メソッドを拡張します。

メソッド 1

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 6 HRESULT End2(HRESULT hrCompletionCode)

End2 メソッドは、完了状態インジケーターを提供することで IWMDMProgress::End を拡張します。

hrCompletionCodeHRESULTin終了した操作の戻り値。

戻り値

このメソッドの戻り値は、Windows Media Device Manager では無視されます。

解説(Remarks)

IWMDMProgress2 は、特定の操作のためにアプリケーションが Windows Media Device Manager に提供するコールバック インターフェイスです。End2 は、その操作が完了したときに呼び出されます。hrCompletionCode パラメーターは、実行中だった操作の完了状態です。たとえば、アプリケーションは Insert2 メソッドに IWMDMProgress2 インターフェイス ポインターを渡すことができます。Insert2 によるファイル転送が完了すると、そのファイル転送の完了状態を hrCompletion パラメーターとして、IWMDMProgress2 インターフェイス ポインターの End2 が呼び出されます。

IWMDMProgress3::End3 はより多くの情報を提供するため、このメソッドの代わりに実装してください。

次の C++ コードは、Progress2 メソッドの簡単な実装です。


HRESULT Progress(DWORD  dwTranspiredTicks)
{
    // TODO: Display the message: "IWMDMProgress::Progress called." 
    // followed by the dwTranspiredTicks value.
    return S_OK;
}
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IWMDMProgress2 "{3A43F550-B383-4E92-B04A-E6BBC660FEFC}"
#usecom global IWMDMProgress2 IID_IWMDMProgress2 "{}"
#comfunc global IWMDMProgress2_End2  6 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。