IWMDMProgress3::P rogress3 メソッド (mswmdm.h)
Progress3 メソッドは、実行中のアクションの状態を示すために Windows Media デバイス マネージャーによって呼び出されます。 このメソッドは、イベントの識別 (ID) とコマンドのコンテキストへのポインターに対して追加の入力パラメーターを指定することで、 IWMDMProgress::P rogress を拡張します。
構文
HRESULT Progress3(
[in] GUID EventId,
[in] DWORD dwTranspiredTicks,
[in, out] OPAQUECOMMAND *pContext
);
パラメーター
[in] EventId
進行状況通知を送信するイベント ID を指定する GUID。 次の表に、使用可能な値を示します。
Event | 説明 |
---|---|
SCP_EVENTID_ACQSECURECLOCK | Windows Media デバイス マネージャーは、サーバーからセキュリティで保護されたクロックを取得しています。 |
SCP_EVENTID_NEEDTOINDIV | デバイスが個別化されています。 これは現在使用されていません。 |
SCP_EVENTID_DRMINFO |
このイベント ID は、各ファイルのコンテンツにあるバージョン DRM ヘッダーを使用してアプリケーションに通知するために使用されます。
返される OPAQUECOMMAND 構造体には 、guidCommand パラメーターが SCP_PARAMID_DRMVERSION に設定されています。 さらに、データは次のいずれかのフラグを指定します。 WMDM_SCP_DRMINFO_NOT_DRMPROTECTED WMDM_SCP_DRMINFO_V1HEADER WMDM_SCP_DRMINFO_V2HEADER |
EVENT_WMDM_CONTENT_TRANSFER | コンテンツはデバイス間で転送中です。 |
[in] dwTranspiredTicks
これまでにトランスパイルされたティック数を指定する DWORD。
[in, out] pContext
Windows Media デバイス マネージャーによって処理されずにデバイスに直接送信されるコマンドを含む OPAQUECOMMAND 構造体へのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。 イベントがSCP_EVENTID_DRMINFOされている場合、このパラメーターのデータにはSCP_PARAMID_DRMVERSION GUID が含まれます。
戻り値
アプリケーションは、次のいずれかの HRESULT 値を返す必要があります。
リターン コード | 説明 |
---|---|
|
操作を続行する必要があります。 |
|
Windows Media デバイス マネージャーは、完了を待たずに現在の操作を取り消す必要があります。 アプリケーションがブロック モードを使用している場合、Windows Media デバイス マネージャーはこのエラーをアプリケーションに返します。 |
注釈
操作を実装しているメソッドを所有するインターフェイスは、 メソッドによって定義された操作が実行されるときに Progress3 メソッドを呼び出します。その目的は、 Progress3 が推定ティックごとに 1 回呼び出されることです。 ただし、実行される操作では推定ティックごとに 1 回の呼び出しが保証されない場合があるため、 dwTranspiredTicks パラメーターは呼び出しごとにチェックする必要があります。
アプリケーションは、操作を続行する必要があることを示すために、呼び出し元のメソッドにS_OKを返します。 アプリケーションは、操作を取り消す必要があることを示すWMDM_E_USER_CANCELLEDを返します。 アプリケーションがブロック モードを使用していて、WMDM_E_USER_CANCELLEDを返す場合、Windows Media デバイス マネージャーはこの同じエラーをアプリケーションに返します。
例
次の C++ コードは、 Progress3 の実装例を示しています。
HRESULT Progress3(GUID EventId, DWORD dwTranspiredTicks, OPAQUECOMMAND* pContext)
{
WCHAR strGuid[64];
ZeroMemory(strGuid, 64);
StringFromGUID2(reinterpret_cast<GUID&>(EventId),(LPOLESTR)strGuid, 64);
// TODO: Display the message: "Progress3 called. GUID value: "
// followed by the strGUID value.
// TODO: Display the message: "Progress3 dwTranspiredTicks: "
// followed by the dwTranspiredTicks value.
return S_OK;
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | mswmdm.h |
Library | Mssachlp.lib |