共用方式為


IWMDRMDeviceApp::AcquireDeviceData 方法

AcquireDeviceData方法會初始化或重設裝置安全時鐘。

語法

HRESULT AcquireDeviceData(
  [in]  IWMDMDevice    *pDevice,
  [in]  IWMDMProgress3 *pProgressCallback,
  [in]  DWORD          dwFlags,
  [out] DWORD          *pdwStatus
);

參數

pDevice [in]

將報告計量資料的裝置 IWMDMDevice 介面指標。

pProgressCallback [in]

應用程式可以追蹤事件進度的進度回呼,或取消事件。 進度是由IWMDMProgress3方法的EventId參數所識別。

dwFlags [in]

下列其中一個或兩個旗標的邏輯 OR ,指定要執行的動作。 此值是從IWMDRMDeviceApp::QueryDeviceStatusIWMDRMDeviceApp2::QueryDeviceStatus2pdwStatus參數擷取。 您可以直接使用 pdwStatus 旗標

旗標 描述
WMDRM_DEVICE_NEEDCLOCK 從安全時鐘伺服器取得時鐘。
WMDRM_DEVICE_REFRESHCLOCK 從安全時鐘伺服器重新整理時鐘。

pdwStatus [out]

下列其中一個 DWORD 值,指定裝置所傳回的狀態。

狀態 描述
0 不支援此動作。
1 無法從服務取得裝置安全時鐘。
2 無法設定裝置的安全時鐘。
3 已設定裝置的安全時鐘。

傳回值

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

傳回碼 描述
S_OK
此方法已成功。
DRM_E_INVALIDARG
一或多個引數無效。
NS_E_DEVICE_NOT_WMDRM_DEVICE
指定的裝置不是 Windows Media DRM 相容裝置。
NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK
無法從裝置擷取安全時鐘挑戰,或無法從挑戰擷取安全時鐘 URL。
NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK_FROM_SERVER
無法從安全時鐘伺服器擷取安全時鐘回應。
NS_E_DRM_UNABLE_TO_SET_SECURE_CLOCK
無法將安全時鐘挑戰傳送至裝置,或裝置無法設定時鐘。

備註

這是非同步方法;裝置必須等候此作業的 IWMDMProgress::End 回呼,才能嘗試播放任何授權的內容。

應用程式可以透過呼叫 IWMDRMDeviceApp::QueryDeviceStatusIWMDRMDeviceApp2::QueryDeviceStatus 來瞭解裝置是否必須重設或更新其時鐘。

您的應用程式必須有網際網路連線,才能取得或重設安全時鐘。

規格需求

需求
標頭
WMDRMDeviceApp.h (也需要從 WMDRMDeviceApp.idl 建置的 Wmdrmdeviceapp_i.c)
程式庫
Mssachlp.lib

另請參閱

處理應用程式中受保護的內容

IWMDMDevice 介面

IWMDMProgress3 介面

IWMDRMDeviceApp 介面