IWMDRMLicenseManagement::AcquireLicense メソッド

[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーシンク ライターに置き換わりました。 ソース リーダーシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

AcquireLicense メソッドは、指定した URL からライセンスを非同期的に取得します。

構文

HRESULT AcquireLicense(
  [in]  BSTR     bstrURL,
  [in]  BSTR     bstrHeaderData,
  [in]  BSTR     bstrActions,
  [in]  DWORD    dwFlags,
  [out] IUnknown **ppunkCancelationCookie
);

パラメーター

bstrURL [in]

ライセンスを取得するライセンス サーバーの URL。 NULL を渡して、コンテンツ ヘッダーから URL を解析します。

bstrHeaderData [in]

ライセンス サーバーに渡されるコンテンツ ヘッダー。 bstrURLNULL の場合、メソッドはこのヘッダーから URL を解析します。 dwFlags が WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT に設定されている場合は、コンテンツ ヘッダー全体ではなく、この値をキー ID に設定します。

bstrActions [in]

ライセンスのアクセス許可を要求する 0 個以上のアクションを含む文字列。 文字列は、次のように書式設定する必要があります。

  • 各アクションは、ACTION 要素内で定義する必要があります。 要素のデータはアクション文字列です。

  • すべての ACTION 要素は、ACTIONLIST 要素内に含まれている必要があります。

    たとえば、コンテンツを再生するためのライセンスを要求する文字列は、次のように書式設定されます。

    <ACTIONLIST><ACTION></ACTION></ACTIONLIST>
    

dwFlags [in]

ライセンス取得オプション フラグ。 次の表のいずれかの定数に設定します。

定数 説明
WMDRM_ACQUIRE_LICENSE_SILENT ライセンスは、クライアント アプリケーションからの確認なしに、インターネット経由で直接発行されます。
WMDRM_ACQUIRE_LICENSE_NONSILENT DRM サブシステムは、ライセンス サーバーにポストするために非同期的に返されるライセンス要求を作成します。
WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT DRM バージョン 1 のライセンスチャレンジが作成されることを除き、WMDRM_ACQUIRE_LICENSE_NONSILENTと同じです。

ppunkCancelationCookie [out]

この非同期呼び出しを識別するオブジェクトの IUnknown インターフェイスへのポインターを受け取るポインター。 このインターフェイス ポインターを使用すると、 IWMDRMEventGenerator::CancelAsyncOperation メソッドを呼び出して非同期呼び出しを取り消すことができます。

戻り値

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

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

解説

このメソッドは非同期的に実行されます。 呼び出された直後に が返され、処理が完了すると MEWMDRMLicenseAcquisitionCompleted イベントが生成されます 。 非サイレント ライセンス取得操作の場合、 IMFMediaEvent::GetValue を呼び出して取得したイベントの値は IUnknown ポインターです。 取得した IUnknown インターフェイスの QueryInterface メソッドを呼び出して、IWMDRMNonSilentLicenseAquisition インターフェイスのインスタンスを取得できます。

Windows Media DRM クライアント拡張 API の非同期メソッドの使用の詳細については、「 Media Foundation イベント モデルの使用」を参照してください。

要件

要件
ヘッダー
Wmdrmsdk.h
ライブラリ
Wmdrmsdk.lib

関連項目

IWMDRMLicenseManagement インターフェイス

サイレント ライセンスの取得