サイレント ライセンスの取得
[このページに関連付けられている機能である Windows Media Format 11 SDK は、レガシ機能です。 これは、ソース リーダーとシンク ライターによって置き換えられます。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
サイレント ライセンスの取得には、ライセンス サーバーとのネットワーク通信をすべて非同期的に処理する 1 つのメソッド呼び出しのみが必要です。
この種のライセンス取得は、通常、保護されたコンテンツにアクセスしようとしているエンド ユーザーへの応答として使用されます。たとえば、メディア プレーヤー アプリケーションで保護されたファイルを再生しようとしています。 サイレント ライセンスの取得は 1 回の呼び出しでライセンスを取得するため、コンテンツの支払いなど、ユーザーからの追加の入力が必要な場合は使用できません。
サイレント ライセンス取得を実行するには、次の手順に従います。
- IWMDRMLicenseManagement::AcquireLicense メソッドを呼び出します。 保護されたファイルから DRM ヘッダーを bstrHeaderData パラメーターとして渡します。 bstrActions パラメーターでライセンスに付与する権限を指定します。 最後に、 dwFlags パラメーターを WMDRM_ACQUIRE_LICENSE_SILENT に設定します。
- IWMDRMLicenseManagement インターフェイスのイベントをトラップします。 MEWMDRMLicenseAcquisitionCompleted イベントを受け取ったら、Media Foundation ドキュメントに記載されている IMFMediaEvent::GetStatus メソッドを呼び出して、戻りコードをチェックします。 取得した HRESULT 値が成功コードの場合、ライセンスは正常にダウンロードされ、使用できる状態のローカル ライセンス ストアにあります。
関連トピック