ネットワーク デバイス ストリーム用の Windows Media DRM 10 へのDRM-Protected ファイルの変換
デバイスの登録と検証が完了したら、デバイスからのライセンス要求メッセージの処理を開始できます。 ライセンス要求メッセージは、アプリケーションからのアクションが必要な場合にデバイスによって送信されます。 現在サポートされている唯一のアクションは、再生用のセキュリティで保護されたデータの要求である "再生" です。
ライセンス要求メッセージが表示されたら、次の手順を実行する必要があります。
- IWMDRMMessageParser::P arseLicenseRequestMsg メソッドを呼び出して、ライセンス要求メッセージを解析します。
- 手順 1 で取得した証明書とシリアル番号を渡して、IWMDeviceRegistration::GetRegisteredDeviceByID メソッドを呼び出して、デバイスの IWMRegisteredDevice インターフェイスを取得します。
- デバイスがセキュリティで保護されたデータを受信する準備ができていることを確認します。
- IWMRegisteredDevice::IsApproved を呼び出して、デバイスが承認されたことを確認します。 承認は常にユーザー設定に基づく必要があります。
- IWMRegisteredDevice::IsValid を呼び出して、過去 48 時間以内にデバイスが検証されたことを確認します。 デバイスが無効な場合は、近接検出を実行する必要があります。 詳細については、「 近接検出の実行」を参照してください。
- IWMRegisteredDevice::IsOpened を呼び出して、デバイスが開かれていることを確認します。 デバイスが開かない場合は、 IWMRegisteredDevice::Open を呼び出してデバイスを開くことができます。 一度にコンピューター上で開くことができるデバイスは 10 台のみです。 要求を処理しているデバイスを開く前に、別のデバイスを閉じる必要がある場合があります。 デバイスを閉じるには、 IWMRegisteredDevice::Close メソッドを呼び出します。
- WMCreateDRMTranscryptor 関数を呼び出して、DRM トランスクリプター オブジェクトのインスタンスを作成します。
- IWMDRMTranscryptor::Initialize メソッドを呼び出して、トランスクリプターを初期化します。 このメソッドは、ステータス メッセージの配信に使用する IWMStatusCallback インターフェイスの実装へのポインターを受け取ります。 このメソッドは、続行する前にデバイスに送信する必要があるライセンス要求メッセージも返します。
- アプリケーションの IWMStatusCallback::OnStatus メソッドがWMT_TRANSCRYPTOR_INITステータス メッセージを受信したら、 IWMDRMTranscryptor::Seek メソッドを呼び出して、ファイル内の適切な開始位置をシークします。 ファイルの先頭から開始するには、時刻 0 で Seek を呼び出 す 必要があります。
- トランスクリプターは、新しいプレゼンテーション時にファイルからデータを配信する準備ができたときに、WMT_TRANSCRYPTOR_SEEKED メッセージを送信します。 IWMDRMTranscryptor::Read メソッドを繰り返し呼び出して、変換されたメディア データのチャンクを取得します。 各呼び出しは非同期であり、WMT_TRANSCRYPTOR_READ メッセージを受信するまでは完了しません。 メッセージを受信したら、受信デバイスにデータを送信できます。
- hr パラメーターが NS_S_TRANSCRYPTOR_EOF に設定されたWMT_TRANSCRYPTOR_READ メッセージを受信すると、ファイル全体が読み取られます。 この時点で、 IWMDRMTranscryptor::Close メソッドを呼び出してファイルを閉じ、リソースを解放します。
- WMT_TRANSCRYPTOR_CLOSED メッセージを受信したら、 IWMDRMTranscryptor インターフェイスを解放できます。
注意
DRM は、この SDK の x64 ベースのバージョンではサポートされていません。
関連トピック