IWMDRMDeviceApp::AcquireDeviceData (deprecated)
This is preliminary documentation and subject to change.
This topic documents a feature of the Windows Media Device Manager SDK. We recommend that you migrate your application to use the Windows Portable Devices API. For more information, see the Windows Portable Devices SDK.
The AcquireDeviceData method initializes or resets a device secure clock.
Syntax
HRESULT AcquireDeviceData(
IWMDMDevice* pDevice,
IWMDMProgress3* pProgressCallback,
DWORD dwFlags,
DWORD* pdwStatus
);
Parameters
pDevice
[in] Pointer to an IWMDMDevice interface for the device that will report metering data.
pProgressCallback
[in] Progress callback through which the application can track the progress of the event, or cancel the event. The progress is identified by the EventId parameter of IWMDMProgress3 methods.
dwFlags
[in] A logical OR of one or both of the following flags, specifying what action to perform. This value is retrieved from the pdwStatus parameter of IWMDRMDeviceApp::QueryDeviceStatus or IWMDRMDeviceApp2::QueryDeviceStatus2. You can use the pdwStatus flag directly.
Flag | Description |
WMDRM_DEVICE_NEEDCLOCK | Acquire a clock from a secure clock server. |
WMDRM_DEVICE_REFRESHCLOCK | Refresh the clock from a secure clock server. |
pdwStatus
[out] One of the following DWORD values specifying the status returned by the device.
Status | Description |
0 | The action is not supported. |
1 | The device secure clock could not be acquired from the service. |
2 | The device's secure clock could not be set. |
3 | The device's secure clock was set. |
Return Values
The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.
Return code | Description |
S_OK | The method succeeded. |
DRM_E_INVALIDARG | One or more arguments are not valid. |
NS_E_DEVICE_NOT_WMDRM_DEVICE | The specified device is not a Windows Media DRM–compatible device. |
NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK | Failed to retrieve secure clock challenge from the device or unable to retrieve the secure clock URL from the challenge. |
NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK_FROM_SERVER | Failed to retrieve the secure clock response from the secure clock server. |
NS_E_DRM_UNABLE_TO_SET_SECURE_CLOCK | Failed to send the secure clock challenge to the device, or the device failed to set the clock. |
Remarks
This is an asynchronous method; the device must await the IWMDMProgress::End callback for this operation before attempting to play any licensed content.
An application can learn if the device must have its clock reset or updated by calling IWMDRMDeviceApp::QueryDeviceStatus or IWMDRMDeviceApp2::QueryDeviceStatus2.
Your application must have an Internet connection to enable it to acquire or reset a secure clock.
Requirements
Header: Requires both WMDRMDeviceApp.h and wmdrmdeviceapp_i.c (built from WMDRMDeviceApp.idl).
Library: mssachlp.lib
See Also