DirectShow での DRM サポート
[このページに関連付けられている機能である Windows Media Format 11 SDK は、レガシ機能です。 これは、ソース リーダーとシンク ライターによって置き換えられます。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
DirectShow での DRM で保護されたファイルの読み取りと書き込みは、Windows Media Format SDK を直接使用する場合と基本的に同じ方法で行われます。 まず、microsoft とは別に取得される wmstubdrm 静的ライブラリが必要です。 さらに、DRM が有効になっているときにアプリケーションが Windows Media Format SDK ランタイム オブジェクトにアクセスできるようにするには、 IKeyProvider インターフェイスを実装する必要があります。
DRM バージョン 1 の保護を適用する場合は、「DirectShow での ASF ファイルの読み取り」の説明に従って取得される IWMHeaderInfo インターフェイスを使用します。 DRM バージョン 7 の保護を適用する場合は、このトピックで後述するコード スニペットに示すように、WM ASF ライター フィルターで QueryService を呼び出して IWMDRMWriter インターフェイスを取得します。
その他の DRM 固有の構成はすべて、「 DRM サポートの有効化」の説明とまったく同じです。 QueryService を使用して、WM ASF リーダー フィルターから IWMDRMReader インターフェイスを取得します。
DirectX 9.0 には、DRM バージョン 1 とバージョン 7 のライセンス取得を示す DRM 対応 DirectShow プレーヤー アプリケーションである PlayWndASF のサンプルが含まれています。 このサンプルには、 IKeyProvider インターフェイスをサポートする CKeyProvider クラスの実装も含まれています。