Executando a detecção de proximidade
[O recurso associado a esta página, Windows Media Format 11 SDK, é um recurso herdado. Ele foi substituído por Leitor de Origem e Gravador de Coletor. O Leitor de Origem e o Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o Leitor de Origem e o Gravador do Coletor em vez do SDK do Windows Media Format 11, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Antes de transmitir dados criptografados para um dispositivo registrado no protocolo DRM 10 do Windows Media para Dispositivos de Rede, você deve executar um processo chamado detecção de proximidade (também chamado de validação). Esse processo envolve o envio de mensagens para o dispositivo e o recebimento de respostas. O tempo necessário para receber uma resposta é usado para determinar se o dispositivo está "próximo" o suficiente para o computador na rede receber dados seguros. Confirmar que o dispositivo está fisicamente próximo do computador cliente na rede ajuda a evitar falsificação e outros acessos não autorizados.
Quando a detecção de proximidade é concluída com êxito, o dispositivo é considerado válido. Você pode marcar se um dispositivo é válido chamando o método IWMRegisteredDevice::IsValid. Os dispositivos devem ser validados a cada 48 horas. Um dispositivo que foi validado mais de 48 horas antes da execução do programa deve ser revalidado executando o processo de detecção de proximidade novamente.
Para executar a detecção de proximidade, você deve estabelecer comunicações com o dispositivo e, em seguida, chamar o método IWMProximityDetection::StartDetection . O processo de detecção é concluído de forma assíncrona pelos componentes drm internos do SDK do Formato de Mídia do Windows. Seu aplicativo deve incluir uma implementação da interface IWMStatusCallback para processar mensagens de detecção de proximidade.
Há duas mensagens que são enviadas pelo processo de detecção de proximidade: uma mensagem de resultado e uma mensagem de conclusão.
A mensagem de resultado, WMT_PROXIMITY_RESULT, é enviada quando o processo de detecção é concluído. O parâmetro hr do método de retorno de chamada OnStatus indica se o dispositivo foi encontrado próximo o suficiente para o computador cliente. Se o parâmetro hr da mensagem de resultado indicar êxito, o parâmetro pValue conterá um DWORD especificando a latência medida para o dispositivo em milissegundos.
A mensagem de conclusão, WMT_PROXIMITY_COMPLETED, é enviada quando a detecção é finalizada. Você deve liberar a interface IWMProximityDetection somente depois de receber essa mensagem.
Quando a detecção de proximidade de um dispositivo é bem-sucedida, o banco de dados de registro de dispositivo é atualizado automaticamente. Chamadas subsequentes para IWMRegisteredDevice::IsValid retornarão TRUE até que 48 horas tenham passado e o dispositivo precise ser revalidado.
Nota O DRM não é compatível com a versão baseada em x64 desse SDK.
Tópicos relacionados