次の方法で共有


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

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

サイレント ライセンスの取得には、ライセンス サーバーとのネットワーク通信をすべて非同期的に処理する 1 つのメソッド呼び出しのみが必要です。

この種のライセンス取得は、通常、保護されたコンテンツにアクセスしようとしているエンド ユーザーへの応答として使用されます。たとえば、メディア プレーヤー アプリケーションで保護されたファイルを再生しようとしています。 サイレント ライセンスの取得は 1 回の呼び出しでライセンスを取得するため、コンテンツの支払いなど、ユーザーからの追加の入力が必要な場合は使用できません。

サイレント ライセンス取得を実行するには、次の手順に従います。

  1. IWMDRMLicenseManagement::AcquireLicense メソッドを呼び出します。 保護されたファイルから DRM ヘッダーを bstrHeaderData パラメーターとして渡します。 bstrActions パラメーターでライセンスに付与する権限を指定します。 最後に、 dwFlags パラメーターを WMDRM_ACQUIRE_LICENSE_SILENT に設定します。
  2. IWMDRMLicenseManagement インターフェイスのイベントをトラップします。 MEWMDRMLicenseAcquisitionCompleted イベントを受け取ったら、Media Foundation ドキュメントに記載されている IMFMediaEvent::GetStatus メソッドを呼び出して、戻りコードをチェックします。 取得した HRESULT 値が成功コードの場合、ライセンスは正常にダウンロードされ、使用できる状態のローカル ライセンス ストアにあります。

ライセンスの取得

Media Foundation イベント モデルの使用