ライセンス失効の実装
[このページに関連付けられている機能である Windows Media Format 11 SDK は、レガシ機能です。 これは、ソース リーダーとシンク ライターによって置き換えられます。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
Windows Media Rights Manager 10 SDK には、ライセンス失効と呼ばれる機能が含まれています。 この機能により、ライセンス サーバーはライセンスをクライアント コンピューターから削除するように要求できます。 Windows Media Format SDK には、失効メッセージを処理し、ローカル ライセンス ストアからライセンスを削除するメソッドが用意されています。
ライセンス失効プロセスは、ライセンス発行者によって提供されるサービスによって開始されます。 アプリケーションでこのサービスをホストすることも、Web アプリケーションにすることもできます。 どちらの場合も、アプリケーションはサービスによって作成されたライセンス チャレンジを受け取ることができる必要があります。
ライセンス ストアからライセンスを削除するには、次の手順に従います。
- ライセンス発行者からライセンス チャレンジを受け取ったら、 WMCreateLicenseRevocationAgent 関数を呼び出してライセンス失効エージェント オブジェクトを作成し、 IWMLicenseRevocationAgent インターフェイスへのポインターを取得します。
- チャレンジ応答を生成するには、 IWMLicenseRevocationAgent::GetLRBChallenge メソッドを呼び出します。
- チャレンジの応答を、チャレンジを受け取ったライセンス サービス コンポーネントに返送します。
- ライセンス サービス コンポーネントは、署名されたライセンス失効 BLOB (LRB) をアプリケーションに送信します。 受信したら、 IWMLicenseRevocationAgent::P rocessLRB メソッドを呼び出します。 ProcessLRB は 、ライセンスが削除されたことを確認するためにライセンス サービスに返送する必要がある確認メッセージを作成します。
注意
DRM は、この SDK の x64 ベースのバージョンではサポートされていません。
関連トピック