Как надежно получить фактический IP-адрес отправителя Miracast в Windows Miracast?C++

Программы на C++. Форум разработчиков
Anonymous
Как надежно получить фактический IP-адрес отправителя Miracast в Windows Miracast?

Сообщение Anonymous »

После успешного подключения Miracast в Windows API возвращает MAC-адрес отправителя, но этот MAC-адрес не соответствует реальному сетевому интерфейсу, которому принадлежит IP-адрес отправителя.
В частности, в обратном вызове add_ConnectionCreated Microsoft::WRL::ComPtr, с подписью:

Код: Выделить всё

HRESULT a_function_name(
ABI::Windows::Media::Miracast::IMiracastReceiverSession* sender,
ABI::Windows::Media::Miracast::IMiracastReceiverConnectionCreatedEventArgs* args
)
Я могу получить имя устройства отправителя и MAC-адрес из параметра args. Однако для устройств Windows этот MAC-адрес выглядит как широковещательный или виртуальный MAC-адрес и не соответствует фактическому MAC-адресу физического сетевого адаптера (напротив, устройства Android сообщают правильный MAC-адрес).
Ранее я пытался определить IP-адрес отправителя, запросив таблицу ARP, но это выглядит хаотично и ненадежно. Просмотрев все доступные API-интерфейсы Miracast, я не смог найти ни одного, который раскрывал бы фактический IP-адрес отправителя.
Поскольку мне нужен реальный IP-адрес отправителя для следующего установления соединения RTSP, я в настоящее время застрял. Кто-нибудь знает надежный способ получить фактический IP-адрес отправителя в этом сценарии?
Я надеюсь получить IP-адрес передатчика.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ows-miraca

Вернуться в «C++»