共用方式為


WM_GET_LICENSE_DATA 結構

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

WM_GET_LICENSE_DATA 結構包含取得DRM授權的位置相關信息。

語法

typedef struct _WMGetLicenseData {
  DWORD   dwSize;
  HRESULT hr;
  WCHAR   *wszURL;
  WCHAR   *wszLocalFilename;
  BYTE    *pbPostData;
  DWORD   dwPostDataSize;
} WM_GET_LICENSE_DATA;

成員

dwSize

DWORD,包含WM_GET_LICENSE_DATA結構的大小,以位元組為單位。

人力資源

HRESULT 傳回碼。

wszURL

包含授權擷取 URL 的寬字元 Null 終止字串。 在非無訊息授權擷取中使用這個字串和 pbPostData 字串。

wszLocalFilename

寬字元 Null 終止字串,其中包含DRM元件所產生的本機 HTML 頁面。 當此字串載入瀏覽器時,它會自動將 HTTP 要求重新導向至授權取得 URL,以及必要的張貼數據。 現在已淘汰使用此本機 URL。 建議的方法是使用 wszURLpbPostData 字串。

pbPostData

位元組陣列的指標,其中包含要張貼至授權取得URL的數據。 您必須將下列字串新增至 pbPostData 字串串的開頭:「nonsilent=1&challenge=」。 當您形成 HTTP 要求時,產生的字串應該附加至 wszURL

dwPostDataSize

DWORD,指出 pbPostData 中參考的 “nonsilent=1&challenge=” 字串大小

備註

如果WMT_STATUS等於 WMT_NO_RIGHTS_EXWMT_ACQUIRE_LICENSE,則會在IWMStatusCallback::OnStatus 方法的 pValue 參數中傳回這個填入結構。 針對WMT_NO_RIGHTS_EX事件, hr 成員將會是NS_E_LICENSE_REQUIRED、NS_E_LICENSE_OUTOFDATE或NS_E_LICENSE_INCORRECT_RIGHTS。 上述任何錯誤都表示必須透過流覽至 wszURL 成員中的 URL 來取得新的授權。

針對WMT_ACQUIRE_LICENSE事件,如果成功取得授權, hr 成員將會通過 SUCCEEDED 宏。 如果在嘗試無訊息取得後收到此事件,且 hr 等於 NS_E_DRM_LICENSE_NOTACQUIRED,表示此授權的授權伺服器僅支援非無訊息取得。

Audioplayer 範例應用程式示範如何正確使用這個結構中傳回的資訊。

需求

需求
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
版本
Windows Media Format 7 SDK 或更新版本的 SDK
頁首
Drmexternals.h

另請參閱

IWMDRMReader::AcquireLicense

結構