Выполнение обнаружения близкого взаимодействия
[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Она была заменена средствами чтения источника и модуля записи приемников. Средство чтения источника и модуль записи приемников оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде средство чтения исходного кода и модуль записи приемников вместо пакета SDK для Windows Media Format 11, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Перед потоковой передачей зашифрованных данных на зарегистрированное устройство в протоколе Windows Media DRM 10 для сетевых устройств необходимо выполнить процесс, называемый обнаружением близкого взаимодействия (также называемой проверкой). Этот процесс включает в себя отправку сообщений на устройство и получение ответов. Время, необходимое для получения ответа, используется для определения того, достаточно ли устройство "близко" к компьютеру в сети для получения безопасных данных. Подтверждение того, что устройство физически близко к клиентскому компьютеру в сети, помогает предотвратить спуфингой и другой несанкционированный доступ.
Когда обнаружение близкого взаимодействия успешно завершено, устройство считается допустимым. Можно проверка, является ли устройство допустимым, вызвав метод IWMRegisteredDevice::IsValid. Устройства должны проверяться каждые 48 часов. Устройство, которое было проверено более чем за 48 часов до запуска программы, необходимо повторно проверить, выполнив процесс обнаружения близкого взаимодействия еще раз.
Чтобы выполнить обнаружение близкого взаимодействия, необходимо установить связь с устройством, а затем вызвать метод IWMProximityDetection::StartDetection . Процесс обнаружения выполняется асинхронно с помощью внутренних компонентов DRM пакета SDK для формата Windows Media. Приложение должно включать реализацию интерфейса IWMStatusCallback для обработки сообщений обнаружения близкого взаимодействия.
Процесс обнаружения близкого взаимодействия отправляет два сообщения: сообщение о результатах и сообщение о завершении.
Сообщение с результатом, WMT_PROXIMITY_RESULT, отправляется после завершения процесса обнаружения. Параметр hr метода обратного вызова OnStatus указывает, было ли обнаружено, что устройство достаточно близко к клиентскому компьютеру. Если параметр hr в результирующем сообщении указывает на успешное выполнение, параметр pValue содержит значение DWORD , указывающее измеряемую задержку для устройства в миллисекундах.
Сообщение о завершении, WMT_PROXIMITY_COMPLETED, отправляется после завершения обнаружения. Вы должны освободить интерфейс IWMProximityDetection только после получения этого сообщения.
При успешном обнаружении близкого взаимодействия для устройства база данных регистрации устройств обновляется автоматически. Последующие вызовы IWMRegisteredDevice::IsValid будут возвращать значение TRUE до тех пор, пока не пройдет 48 часов, и устройство потребуется повторно проверить.
Примечание DRM не поддерживается в 64-разрядной версии этого пакета SDK.
Связанные темы