IMFContentProtectionManager::BeginEnableContent メソッド (mfidl.h)

コンテンツ有効化アクションを実行するための非同期要求を開始します。

このメソッドは、コンテンツ イネーブラー オブジェクトを使用して、コンテンツに対する権限を取得するために必要な特定の手順を実行するようにアプリケーションに要求します。

構文

HRESULT BeginEnableContent(
  [in] IMFActivate      *pEnablerActivate,
  [in] IMFTopology      *pTopo,
  [in] IMFAsyncCallback *pCallback,
  [in] IUnknown         *punkState
);

パラメーター

[in] pEnablerActivate

コンテンツ イネーブラー オブジェクトの IMFActivate インターフェイスへのポインター。 コンテンツ イネーブラーを作成するには、 IMFActivate::ActivateObject を呼び出し、 IMFContentEnabler インターフェイスを 要求します。 アプリケーションでは、 IMFContentEnabler の メソッドを使用して、コンテンツ有効化アクションを完了する必要があります。

[in] pTopo

保留中のトポロジの IMFTopology インターフェイスへのポインター。

[in] pCallback

コールバック オブジェクトの IMFAsyncCallback インターフェイスへのポインター。 操作が完了すると、アプリケーションはコールバックで IMFAsyncCallback::Invoke を呼び出す必要があります。

[in] punkState

予約済み。 現在、このパラメーターは常に NULL です

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。

注釈

このコールバック メソッド内ではブロックしないでください。 代わりに、別のスレッドでアクションを非同期的に有効にするコンテンツを実行します。 操作が完了したら、 pCallback パラメーターを使用して保護されたメディア パス (PMP) に通知します。

このメソッドから成功コードを返す場合は、コールバックで Invoke を 呼び出す必要があります。 逆に、このメソッドからエラー コードを返す場合は、 Invoke を呼び出す必要はありません。 メソッドが成功コードを返した後に操作が失敗した場合は、 IMFAsyncResult オブジェクトの状態コードを使用してエラーを報告します。

コールバックが呼び出されると、PMP はアプリケーションの IMFContentProtectionManager::EndEnableContent メソッドを呼び出して非同期呼び出しを完了します。

このメソッドは、アプリケーションが保護されたコンテンツを再生するたびに必ずしも呼び出されるとは限りません。 一般に、ユーザーがコンテンツに対して有効な最新のライセンスを持っている場合、メソッドは呼び出されません。 内部的には、入力信頼機関 (ITA) は、コンテンツ プロバイダーの DRM ポリシーに基づいて BeginEnableContent を呼び出すかどうかを決定します。 詳細については、「 保護されたメディア パス」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Mfuuid.lib

こちらもご覧ください

IMFActivate

IMFContentProtectionManager