Compartilhar via


Método IWMDRMDeviceApp::AcquireDeviceData

O método AcquireDeviceData inicializa ou redefine um relógio seguro do dispositivo.

Sintaxe

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

Parâmetros

pDevice [in]

Ponteiro para uma interface IWMDMDevice para o dispositivo que relatará dados de medição.

pProgressCallback [in]

Progress callback through which the application can track the progress of the event, or cancel the event. O progresso é identificado pelo parâmetro EventId dos métodos IWMDMProgress3 .

dwFlags [in]

Um OR lógico de um ou ambos os sinalizadores a seguir, especificando qual ação executar. Esse valor é recuperado do parâmetro pdwStatus de IWMDRMDeviceApp::QueryDeviceStatus ou IWMDRMDeviceApp2::QueryDeviceStatus2. Você pode usar o sinalizador pdwStatus diretamente.

Sinalizador Descrição
WMDRM_DEVICE_NEEDCLOCK Adquira um relógio de um servidor de relógio seguro.
WMDRM_DEVICE_REFRESHCLOCK Atualize o relógio de um servidor de relógio seguro.

pdwStatus [out]

Um dos seguintes valores DWORD que especificam o status retornado pelo dispositivo.

Status Descrição
0 Não há suporte para a ação.
1 O relógio seguro do dispositivo não pôde ser adquirido do serviço.
2 O relógio seguro do dispositivo não pôde ser definido.
3 O relógio seguro do dispositivo foi definido.

Valor retornado

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
DRM_E_INVALIDARG
Um ou mais argumentos não são válidos.
NS_E_DEVICE_NOT_WMDRM_DEVICE
O dispositivo especificado não é um dispositivo compatível com DRM do Windows Media.
NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK
Falha ao recuperar o desafio do relógio seguro do dispositivo ou não é possível recuperar a URL do relógio seguro do desafio.
NS_E_DRM_UNABLE_TO_GET_SECURE_CLOCK_FROM_SERVER
Falha ao recuperar a resposta do relógio seguro do servidor de relógio seguro.
NS_E_DRM_UNABLE_TO_SET_SECURE_CLOCK
Falha ao enviar o desafio do relógio seguro para o dispositivo ou o dispositivo falhou ao definir o relógio.

Comentários

Este é um método assíncrono; O dispositivo deve aguardar o retorno de chamada IWMDMProgress::End para essa operação antes de tentar reproduzir qualquer conteúdo licenciado.

Um aplicativo pode saber se o dispositivo deve ter sua redefinição de relógio ou atualizada chamando IWMDRMDeviceApp::QueryDeviceStatus ou IWMDRMDeviceApp2::QueryDeviceStatus2.

Seu aplicativo deve ter uma conexão com a Internet para permitir que ele adquira ou redefina um relógio seguro.

Requisitos

Requisito Valor
parâmetro
WMDRMDeviceApp.h (também requer Wmdrmdeviceapp_i.c, criado a partir de WMDRMDeviceApp.idl)
Biblioteca
Mssachlp.lib

Confira também

Manipulando conteúdo protegido no aplicativo

IWMDMDevice Interface

IWMDMProgress3 Interface

IWMDRMDeviceApp Interface