近接検出の実行
[このページに関連付けられている機能である Windows Media Format 11 SDK は、レガシ機能です。 これは、ソース リーダーとシンク ライターによって置き換えられます。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
Windows Media DRM 10 for Network Devices プロトコルの登録済みデバイスに暗号化されたデータをストリーミングするには、事前に近接検出 (検証とも呼ばれます) と呼ばれるプロセスを実行する必要があります。 このプロセスには、デバイスへのメッセージの送信と応答の受信が含まれます。 応答の受信にかかる時間は、セキュリティで保護されたデータを受信するためにネットワーク上のコンピューターにデバイスが "近い" かどうかを判断するために使用されます。 デバイスがネットワーク上のクライアント コンピューターに物理的に近づいていっていることを確認すると、スプーフィングやその他の不正アクセスを防ぐことができます。
近接検出が正常に完了すると、デバイスは有効であると言われます。 デバイスが有効かどうかをチェックには、IWMRegisteredDevice::IsValid メソッドを呼び出します。 デバイスは 48 時間ごとに検証する必要があります。 プログラムが実行される 48 時間以上前に検証されたデバイスは、近接検出プロセスをもう一度実行して再検証する必要があります。
近接検出を実行するには、デバイスとの通信を確立し、 IWMProximityDetection::StartDetection メソッドを呼び出す必要があります。 検出プロセスは、Windows Media Format SDK の内部 DRM コンポーネントによって非同期的に完了します。 近接検出メッセージを処理するには、アプリケーションに IWMStatusCallback インターフェイスの実装を含める必要があります。
近接検出プロセスによって送信されるメッセージには、結果メッセージと完了メッセージの 2 つがあります。
検出プロセスが完了すると、結果メッセージWMT_PROXIMITY_RESULTが送信されます。 OnStatus コールバック メソッドの hr パラメーターは、デバイスがクライアント コンピューターに十分に近いことがわかったかどうかを示します。 結果メッセージの hr パラメーターが成功を示す場合、 pValue パラメーターには、デバイスに対する測定された待機時間をミリ秒単位で指定する DWORD が含まれます。
検出が完了すると、完了メッセージWMT_PROXIMITY_COMPLETEDが送信されます。 IWMProximityDetection インターフェイスは、このメッセージを受信した後にのみ解放する必要があります。
デバイスの近接検出が成功すると、デバイス登録データベースが自動的に更新されます。 IWMRegisteredDevice::IsValid への後続の呼び出しは、48 時間が経過し、デバイスの再検証が必要になるまで TRUE を返します。
メモ DRM は、この SDK の x64 ベースのバージョンではサポートされていません。
関連トピック