IMFInputTrustAuthority::RequestAccess メソッド (mfidl.h)
ストリームに対して指定したアクションを実行するためのアクセス許可を要求します。
構文
HRESULT RequestAccess(
[in] MFPOLICYMANAGER_ACTION Action,
[out] IMFActivate **ppContentEnablerActivate
);
パラメーター
[in] Action
要求されたアクション。 MFPOLICYMANAGER_ACTION 列挙体のメンバーとして指定されます。
[out] ppContentEnablerActivate
値 NULL または IMFActivate インターフェイスへのポインターを受け取ります。 IMFActivate インターフェイスは、コンテンツ イネーブラー オブジェクトを作成するために使用されます。 呼び出し元はインターフェイスを解放する必要があります。 詳細については、「解説」を参照してください。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
ユーザーには、このアクションを実行するアクセス許可があります。 |
|
ユーザーはアプリケーションを個別化する必要があります。 |
|
ユーザーはライセンスを取得する必要があります。 |
解説
このメソッドは、ユーザーがストリームに対して指定されたアクションを実行するアクセス許可を持っているかどうかを確認します。 ITA は、ライセンスの確認など、ユーザーがアクションを実行する権利を確認するために必要な作業を行います。
ユーザーの権限を確認するために、ITA はユーザーとの対話またはユーザーからの同意を必要とする追加の手順を実行する必要がある場合があります。 たとえば、新しいライセンスを取得したり、DRM コンポーネントを個別化したりする必要がある場合があります。 その場合、ITA はコンテンツ イネーブラーのアクティブ化オブジェクトを作成し、ppContentEnablerActivate パラメーターでアクティブ化オブジェクトの IMFActivate インターフェイスを返します。 アクティブ化オブジェクトは、 IMFContentEnabler インターフェイスを公開するコンテンツ イネーブラーを作成します。 コンテンツ イネーブラーは次のように使用されます。
- メディア セッションは、アプリケーションへの IMFActivate ポインターを返します。
- アプリケーションは IMFActivate::ActivateObject を 呼び出して、コンテンツ イネーブラーをアクティブにします。
- アプリケーションは IMFContentEnabler メソッドを呼び出して、個別化やライセンスの取得など、必要なアクションを実行します。 コンテンツ イネーブラー オブジェクトは、 IMFContentEnabler インターフェイスを介してこの機能をカプセル化する必要があります。
- メディア セッションは RequestAccess を再度呼び出します。
- ユーザーがアクションを実行するアクセス許可を既に持っている場合、メソッドは S_OKを返し、*ppContentEnablerActivate を NULL に設定 します。
- ユーザーにアクセス許可がない場合、メソッドはエラー コードを返し、*ppContentEnablerActivate を NULL に設定 します。
- ITA がユーザーとの対話を必要とする追加の手順を実行する必要がある場合、メソッドはエラー コードを返し、ppContentEnablerActivate でコンテンツ イネーブラーの IMFActivate ポインターを返します。
ストリームは複数の出力に移動できるため、このメソッドは、出力ごとに 1 回、異なるアクションで複数回呼び出される可能性があります。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfidl.h |
Library | Mfuuid.lib |