個別化イベントの処理
[このページに関連付けられている機能である Windows Media Format 11 SDK は、レガシ機能です。 これは、ソース リーダーとシンク ライターによって置き換えられます。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
DRM 対応アプリケーションが保護されたファイルを開こうとすると、DRM コンポーネントはファイル内の DRM_DRMHeader_IndividualizedVersion 属性を調べます。これにより、コンテンツへのアクセスに必要な最小バージョン レベルが指定されます。 DRM コンポーネントのすべてのレベルは、すべての 7.0 以降のバージョンのWindows メディア プレーヤーと Windows Media Format SDK で動作します。 DRM コンポーネントの個別のバージョン レベルが必要なバージョンよりも低い場合、DRM コンポーネントはアプリケーションの IWMStatusCallback::OnStatus メソッドにWMT_NEEDS_INDIVIDUALIZATION イベントを送信します。 その後、アプリケーションは、ユーザーにセキュリティ アップグレードの開始またはキャンセルを求めるメッセージまたはダイアログ ボックスを表示する必要があります。 このプロンプトは、プライバシー上の理由から、ユーザーがコンピューターにセキュリティ アップグレードをインストールする前にアクセス許可を付与する必要があるために必要です。
Note
コンテンツのヘッダーは、DRM_DRMVersion_IndividualizedVersionの最初の 2 桁のみを指定します。 言い換えると、レベル 2.2.0.1 DRM コンポーネントを必要とするには、ヘッダーに "2.2" が含まれます。
セキュリティ アップグレードやトリガーの個別化を開始するには、dwFlags パラメーターを 1 に設定して IWMDRMReader::Individualize メソッドを呼び出します。
アプリケーションで WMT_INDIVIDUALIZE イベントを処理する必要があります。 このイベントは、 pValue パラメーターに示されている個別化プロセスの状態を持つ DRM コンポーネントによって複数回発生します。これは、 WM_INDIVIDUALIZE_STATUS 構造体へのポインターにキャストされます。
DRM コンポーネントが正常に個別化されると、アプリケーションは WMT_NO_RIGHTS_EX イベントを受け取り、アプリケーションがコンテンツのライセンスの取得に進むことができることを示します。
Note
DRM は、この SDK の x64 ベースのバージョンではサポートされていません。
関連トピック