次の方法で共有


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 値を返す必要があります。

リターン コード 説明
S_OK
操作を続行する必要があります。
WMDM_E_USER_CANCELLED
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

こちらもご覧ください

通知の有効化

IWMDMProgress3 インターフェイス

IWMDMProgress::P rogress