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。 建議的方法是使用 wszURL 和 pbPostData 字串。
-
pbPostData
-
位元組陣列的指標,其中包含要張貼至授權取得URL的數據。 您必須將下列字串新增至 pbPostData 字串串的開頭:「nonsilent=1&challenge=」。 當您形成 HTTP 要求時,產生的字串應該附加至 wszURL 。
-
dwPostDataSize
-
DWORD,指出 pbPostData 中參考的 “nonsilent=1&challenge=” 字串大小。
備註
如果WMT_STATUS等於 WMT_NO_RIGHTS_EX 或 WMT_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 |
頁首 |
|