IWMDRMLicenseManagement::AcquireLicense 方法

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

AcquireLicense方法會以非同步方式從指定的 URL 取得授權。

語法

HRESULT AcquireLicense(
  [in]  BSTR     bstrURL,
  [in]  BSTR     bstrHeaderData,
  [in]  BSTR     bstrActions,
  [in]  DWORD    dwFlags,
  [out] IUnknown **ppunkCancelationCookie
);

參數

bstrURL [in]

要從中取得授權之授權伺服器的 URL。 傳遞 Null ,讓 方法從內容標頭剖析 URL。

bstrHeaderData [in]

要傳遞至授權伺服器的內容標頭。 如果 bstrURLNull,此方法會剖析此標頭中的 URL。 如果 dwFlags 設定為 WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT,請將此值設定為索引鍵識別碼,而不是整個內容標頭。

bstrActions [in]

包含在授權中要求許可權之零個或多個動作的字串。 字串的格式必須如下所示:

  • 每個動作都必須定義在 ACTION 元素內。 元素的資料是動作字串。

  • 所有 ACTION 元素都必須包含在 ACTIONLIST 元素內。

    例如,要求授權播放內容的字串格式如下:

    <ACTIONLIST><ACTION></ACTION></ACTIONLIST>
    

dwFlags [in]

授權取得選項旗標。 設定為下表中的其中一個常數。

常數 描述
WMDRM_ACQUIRE_LICENSE_SILENT 授權會直接透過網際網路發出,而不需要用戶端應用程式進行任何確認。
WMDRM_ACQUIRE_LICENSE_NONSILENT DRM 子系統會建立授權要求,以非同步方式傳回以張貼至授權伺服器。
WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT 與WMDRM_ACQUIRE_LICENSE_NONSILENT相同,不同之處在于將會建立 DRM 第 1 版授權挑戰。

ppunkCancelationCookie [out]

接收物件 之 IUnknown 介面指標的指標,可識別這個非同步呼叫。 這個介面指標可用來藉由呼叫 IWMDRMEventGenerator::CancelAsyncOperation 方法來取消非同步呼叫。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。

備註

這個方法會以非同步方式執行。 它會在呼叫之後立即傳回,然後在處理完成時產生 MEWMDRMLicenseAcquisitionCompleted 事件。 對於非無訊息授權取得作業,呼叫 IMFMediaEvent::GetValue 取得的事件值是 IUnknown 指標。 您可以呼叫所擷取之 IUnknown介面的QueryInterface方法,以取得IWMDRMNonSilentLicenseAquisition介面的實例。

如需使用 Windows Media DRM 用戶端擴充 API 非同步方法的詳細資訊,請參閱 使用媒體基礎事件模型

規格需求

需求
標頭
Wmdrmsdk.h
程式庫
Wmdrmsdk.lib

另請參閱

IWMDRMLicenseManagement 介面

無訊息授權取得