SW 개발

winCE / WM / 무선랜 디바이스의 이름 얻어오기 / 예제코드

. . . 2012. 3. 31. 10:07
반응형

windows CE / windows Mobile 의 public 쪽 소스코드를 보면 wzctools 라는 예제 소스코드가있다.

네트워크 프로그래밍을 하기에 wzctools 의 예제소스 코드 만한게 없다.


wzcapi 를 이용하여 무선랜 정보를 얻어오는 방법이 있다.


필요한 라이브러리는 wzcsapi.lib 이다.

해당 라이브러리는 커널 빌드시에 생성이 되므로 application 작성시에 해당 라이브러리를 링킹 시킬수있도록 한다.



#include <windows.h>
#include <windef.h>
#include <stdio.h>
#include <stdarg.h>
#include <eapol.h>
#include <wzcsapi.h>
#include <ntddndis.h>

#include <commctrl.h>
#include <winioctl.h> 
#include <stdlib.h>
#include <nuiouser.h>

#pragma comment(lib, "wzcsapi.lib")

void 
GetWirelessDriverName(WCHAR* szBuff)
{
    INTFS_KEY_TABLE IntfsTable;
    IntfsTable.dwNumIntfs = 0;
    IntfsTable.pIntfs = NULL;

    DWORD dwStatus = WZCEnumInterfaces(NULL, &IntfsTable);

    if(dwStatus != ERROR_SUCCESS)
    {
        RETAILMSG(1,(L"WZCEnumInterfaces() error 0x%08X\r\n", dwStatus));
        return;        
    }

    if(!IntfsTable.dwNumIntfs)
    {
        RETAILMSG(1,(L"system has no wireless card.\r\n"));
        wcscpy(szBuff, (L"has no Wlan card.\r\n"));
        return;
    }

    wcscpy(szBuff, IntfsTable.pIntfs[0].wszGuid);

    // need to free memory allocated by WZC for us.
    LocalFree(IntfsTable.pIntfs);
}   // GetFirstWirelessNetworkCard


유용하게 쓰시길 바랍니다,

반응형