Qt AdapterInfo (Windows)

Qt 2022. 12. 19. 08:59

윈도우용 Qt App에서 이더넷 어댑터의 정보를 가져오는 예제 소스

.pro 파일
win32:LIBS += -lIphlpapi

.cpp 파일
#include <winsock2.h>
#include <iplhpapi.h>

{
    QString str;
    PIP_ADAPTER_INFO pAdapterInfo;
    pAdapterInfo = (IP_ADAPTER_INFO *) malloc(sizeof(IP_ADAPTER_INFO));
    ULONG buflen = sizeof(IP_ADAPTER_INFO);

    if(GetAdaptersInfo(pAdapterInfo, &buflen) == ERROR_BUFFER_OVERFLOW) {
        free(pAdapterInfo);
        pAdapterInfo = (IP_ADAPTER_INFO *) malloc(buflen);
    }

    if(GetAdaptersInfo(pAdapterInfo, &buflen) == NO_ERROR) {
        PIP_ADAPTER_INFO pAdapter = pAdapterInfo;
        while (pAdapter) {
            str.sprintf("Adapter Name: %s", pAdapter->AdapterName);
            qDebug() << str;
            str.sprintf("Adapter Desc: %s", pAdapter->Description);
            qDebug() << str;
            pAdapter = pAdapter->Next;
        }
    }
}

 

: