共用方式為


IWMDRMDeviceApp2::QueryDeviceStatus2 方法

QueryDeviceStatus2方法會查詢裝置是否有特定 DRM 狀態或功能。

語法

HRESULT QueryDeviceStatus2(
  [in]  IWMDMDevice *pDevice,
  [in]  DWORD       dwFlags,
  [out] DWORD       *pdwStatus
);

參數

pDevice [in]

IWMDMDevice物件的指標。

dwFlags [in]

下列一或多個 DWORD 值,指定要要求的功能,並結合位 OR

旗標 描述
WMDRM_QUERY_CLIENT_INDIVSTATUS 查詢電腦 DRM 元件是否需要個別化。
WMDRM_QUERY_DEVICE_CLOCKSTATUS 查詢裝置的安全時鐘是否需要新增或更新。
WMDRM_QUERY_DEVICE_ISREVOKED 查詢裝置是否已撤銷。
WMDRM_QUERY_DEVICE_ISWMDRM 查詢裝置是否支援適用于可攜式裝置的 Windows Media DRM 10。

pdwStatus [out]

下列 零個或多個 DWORD 值,指定要求的裝置狀態,並結合位 OR

狀態 描述
WMDRM_DEVICE_ISWMDRM 裝置支援 Windows 媒體 DRM。
WMDRM_DEVICE_NEEDCLOCK 裝置沒有安全時鐘。
WMDRM_DEVICE_REVOKED 裝置已撤銷。
WMDRM_CLIENT_NEEDINDIV 電腦的 DRM 元件必須個別化。
WMDRM_DEVICE_REFRESHCLOCK 時鐘必須重新整理。

傳回值

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

傳回碼 描述
S_OK
此方法已成功。
DRM_E_INVALIDARG
一或多個引數無效。
NS_E_DRM_INVALID_CERTIFICATE
從裝置擷取的裝置憑證無效。
NS_E_DRM_UNABLE_TO_GET_DEVICE_CERT
無法從裝置擷取裝置憑證。

備註

在 DRM 內容上執行任何受限制的動作之前,應該先呼叫此方法,例如將 DRM 內容傳輸至裝置,或取得計量資訊。 如果pdwStatus所擷取的值指出必須執行某些動作 (例如桌面的個別化,或取得裝置) 的時鐘,應用程式應該呼叫IWMDRMDeviceApp::AcquireDeviceData,並將擷取的pdwStatus值從此函式傳遞至AcquireDeviceData中的dwFlags參數。 如果傳回零,則裝置不支援適用于可攜式裝置的 Windows Media DRM 10,不需要採取任何動作。 如需詳細資訊 ,請參閱在應用程式中處理受保護的內容

規格需求

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

另請參閱

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

IWMDRMDeviceApp::QueryDeviceStatus

IWMDRMDeviceApp2 介面