共用方式為


將DRM-Protected檔案轉換成適用于網路裝置串流的 Windows 媒體 DRM 10

註冊並驗證裝置之後,您就可以開始處理來自該裝置的授權要求訊息。 需要應用程式動作時,裝置會傳送授權要求訊息。 目前唯一支援的動作是「播放」,這是用於播放安全資料的要求。

當您收到授權要求訊息時,您應該執行下列步驟:

  1. 呼叫 IWMDRMMessageParser::P arseLicenseRequestMsg 方法來剖析授權要求訊息。
  2. 藉由呼叫IWMDeviceRegistration::GetRegisteredDeviceByID方法,傳入步驟 1 中取得的憑證和序號,以取得裝置的 IWMRegisteredDevice 介面。
  3. 確認裝置已準備好接收安全資料:
  4. 呼叫 WMCreateDRMTranscryptor 函式,以建立 DRM Transcryptor 物件的實例。
  5. 呼叫 IWMDRMTranscryptor::Initialize 方法來初始化 transcryptor。 這個方法會採用 IWMStatusCallback 介面實作的指標,此介面會用來傳遞狀態訊息。 這個方法也會傳回必須傳送至裝置的授權要求訊息,才能繼續。
  6. 當應用程式的 IWMStatusCallback::OnStatus 方法收到WMT_TRANSCRYPTOR_INIT狀態訊息時,請呼叫 IWMDRMTranscryptor::Seek 方法來搜尋檔案中適當的開始位置。 若要從檔案的開頭開始,您必須使用時間 0 呼叫 Seek
  7. 當轉譯器準備好在新的簡報時間從檔案傳遞資料時,轉譯器會傳送WMT_TRANSCRYPTOR_SEEKED訊息。 對 IWMDRMTranscryptor::Read 方法進行重複呼叫,以取得已轉換的媒體資料區塊。 每個呼叫都是非同步,而且在收到WMT_TRANSCRYPTOR_READ訊息之前不會完成。 當您收到訊息時,您可以將資料傳送至接收裝置。
  8. 當您收到WMT_TRANSCRYPTOR_READ訊息, 並將 hr 參數設定為 NS_S_TRANSCRYPTOR_EOF 時,已讀取整個檔案。 此時,呼叫 IWMDRMTranscryptor::Close 方法來關閉檔案並釋放資源。
  9. 收到WMT_TRANSCRYPTOR_CLOSED訊息時,您可以釋放 IWMDRMTranscryptor 介面。

注意

此 SDK 的 x64 型版本不支援 DRM。

 

使用 Windows Media DRM 10 進行網路裝置通訊協定