共用方式為


非無訊息授權取得

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 11 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

非無訊息授權取得可讓授權提供者透過網頁與使用者互動,作為授權取得程式中的中繼步驟。 系統會起始非無訊息授權取得,以回應嘗試存取受保護內容的使用者。

若要執行非無訊息授權取得,請使用下列步驟:

  1. 呼叫 IWMDRMLicenseManagement::AcquireLicense 方法。 從受保護的檔案傳入 DRM 標頭作為 bstrHeaderData 參數。 指定您想要授權在 bstrActions 參數中授與哪些許可權。 最後,將 dwFlags 參數設定為 WMDRM_ACQUIRE_LICENSE_NONSILENT。
  2. 擷取 IWMDRMLicenseManagement 介面的事件 。 當您收到 MEWMDRMLicenseAcquisitionCompleted 事件時,請呼叫 IMFMediaEvent::GetValue來取得其相關聯的值。 此值的類型應該是 VT_UNKNOWN,這是 IUnknown 介面的指標。
  3. 呼叫步驟 2 中擷取之IUnknown介面的QueryInterface方法,以取得IWMDRMNonSilentLicenseAquisition介面。
  4. 呼叫 IWMDRMNonSilentLicenseAquisition::GetChallenge 以擷取授權挑戰。 如果您還沒有授權伺服器的 URL,也請呼叫 IWMDRMNonSilentLicenseAquisition::GetURL
  5. 將挑戰傳送至 URL 所指定的網頁。

取得授權

使用媒體基礎事件模型