2016-06-03 9 views
0

Wi-Fi 호스트 네트워크를 만들 수있는 기능을 앱에 추가하고 있습니다. 나는 example app working from the Windows 7 sdk를 마침내 얻었다.Windows WiFi 호스트 된 네트워크 장치의 IP 주소를 C++ (WLANAPI)로 가져옵니다.

내가 아는 바는 호스팅 된 네트워크를 만드는 데 사용되는 wifi 장치의 IP 주소를 얻는 방법입니다. 서버를 바인드하려면 해당 주소가 필요합니다.

내가 이것을 할 수있는 유일한 방법은 아마도 장치의 MAC 주소를 사용하여 컴퓨터의 모든 네트워크 장치 목록에있는 항목과 일치시키는 것일까? 그게 유일한 방법인가요? Wi-Fi 호스트 장치가 가상입니다 (문서에 따르면). 저를 회피한다 사용되는 무선 랜 장치의 MAC 주소와 GUID를 얻을 수있는 방법 (WlanHostedNetworkQueryStatus)하지만 실제 IP 주소로 그것을 설정하는 가장 좋은 방법처럼이 보이는

...

나는 아주 새로운 해요 C++ 및 Windows 개발에 이르기까지 내가 누락 된 단순한 무언가 일 수도 있습니다.

UPDATE -

나는 WLAN GUID to LUID 다음 LUID to Index을 변환 할 IP Helper API를 사용하여 끝났다. 포함 된 헤더 파일은 대부분의 문서가 장치 드라이버 용으로 준비되어 있기 때문에 약간 이해하기가 어려웠습니다. 내가 필요한 것들이 있었다. 내가 Qt를 사용하고 있기 때문에

#include <windows.h> 
#include <wlanapi.h> 
#include <iphlpapi.h> 
#include <netioapi.h> 

은 내가 QNetworkInterface를 얻기 위해 인덱스를 사용하고부터 나는 IPv4 주소를 얻었다. NotifyAddrChange 또는 NotifyIpInterfaceChange을 알아내는 것보다 간단했지만 Windows API를 사용하는 경우 그 중 하나가 될 수 있습니다.

답변

1

WlanHostedNetworkQueryStatus 함수는 IPDeviceID 멤버를 갖는 WLAN_HOSTED_NETWORK_STATUS 구조체를 반환합니다. 해당 구성원에 대한 설명서는 다음과 같이 지정합니다.

이 구성원은 WlanEnumInterfaces 함수 호출을 통해 사용할 수없는 가상 무선 장치의 GUID입니다. 이 GUID는 장치 GUID (예 : IP 도우미 함수)를 사용하는 다른 상위 계층 네트워킹 함수를 호출하는 데 사용할 수 있습니다.

IP Helper 기능

당신이 그 목록에있는 다른 기능을 가진 기능과 함께 사용할 수있는 LUID을 제공하는 함수 ConvertInterfaceGuidToLuid을 보유하고 있습니다.

+0

실제로 더 많은 정보를 사용할 수 있었지만 시작되었습니다. – Simurr