Executando a deteção de proximidade

[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e Sink Writer. Source Reader e Sink Writer foram otimizados para o Windows 10 e o Windows 11. A Microsoft recomenda vivamente que o novo código utilize o Leitor de Fonte e o Gravador de Destino em vez do SDK do Windows Media Format 11, sempre que 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 poder transmitir dados encriptados para um dispositivo registado no protocolo Windows Media DRM 10 para Dispositivos de Rede, tem de executar um processo denominado deteção de proximidade (também denominada validação). Este 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á "perto" o suficiente do computador na rede para receber dados seguros. Confirmar que o dispositivo está fisicamente perto do computador cliente na rede ajuda a evitar falsificação e outros acessos não autorizados.

Quando a deteção de proximidade é concluída com sucesso, o dispositivo é dito ser válido. Você pode verificar se um dispositivo é válido chamando o IWMRegisteredDevice::IsValid método. Os dispositivos devem ser validados de 48 em 48 horas. Um dispositivo que foi validado mais de 48 horas antes da execução do programa deve ser revalidado executando o processo de deteção de proximidade novamente.

Para executar a deteção de proximidade, você deve estabelecer comunicações com o dispositivo e, em seguida, chamar o IWMProximityDetection::StartDetection método. O processo de deteção é concluído de forma assíncrona pelos componentes DRM internos do SDK do Windows Media Format. O seu aplicativo deve incluir uma implementação da interface IWMStatusCallback de para processar mensagens de deteção de proximidade.

Há duas mensagens que são enviadas pelo processo de deteçã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 deteção é concluído. O parâmetro hr do método de retorno de chamada OnStatus indica se o dispositivo foi encontrado perto o suficiente do computador cliente. Se o parâmetro hr da mensagem de resultado indicar sucesso, 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 deteção é finalizada. Você deve liberar o IWMProximityDetection interface somente depois de receber esta mensagem.

Quando a deteção de proximidade de um dispositivo é bem-sucedida, o banco de dados de registro do dispositivo é atualizado automaticamente. Chamadas subsequentes para IWMRegisteredDevice::IsValid retornarão TRUE até terem passado 48 horas e o dispositivo precisar ser revalidado.

Observação DRM não é suportado pela versão baseada em x64 deste SDK.

Usando o Windows Media DRM 10 para o protocolo de dispositivos de rede