Recent Posts
Notice
No Rules Rules
유무선 랜카드(어댑터) 정보 읽기 본문
728x90
반응형
현재 내 pc의 모든 랜카드 정보 (WiFi 포함) 를 읽기 위한 구문입니다.
복수의 랜카드 정보를 읽을 수 있으므로 어댑터 이름이나 아이피 정보 등을 읽기 위해 활용할 수 있습니다.
반응형
ULONG flag(0);
IP_ADAPTER_INFO adapter_info[50]{ 0 }; // 랜카드(어댑터)는 최대 50개가 있다고 가정
PIP_ADAPTER_INFO tmp_adapter_info(nullptr);
ULONG adater_info_size(0);
PIP_ADDR_STRING addr_string(nullptr);
std::vector<CString> lists
// check buffer size
flag = GetAdaptersInfo(nullptr, &adater_info_size); // 모든 어댑터 정보의 byte size
if (adater_info_size <= 0)
return false;
flag = GetAdaptersInfo(adapter_info, &adater_info_size);
tmp_adapter_info = adapter_info;
// 어댑터 정보 얻어오기
if ((flag = GetAdaptersInfo(adapter_info, &adater_info_size)) != 0)
return false;
while (tmp_adapter_info) {
addr_string = &(tmp_adapter_info->IpAddressList);
while (addr_string) {
auto ip_addr = CString(addr_string->IpAddress.String); // 어댑터의 IP Address
if (ip_addr.Compare(_T("0.0.0.0"))) // Static으로 설정된 어댑터 정보만 가져오기 위해 0.0.0.0인 경우(Auto인 경우)는 제외
lists.push_back(ip_addr);
addr_string = addr_string->Next; // 하나의 어댑터에 여러 IP Address가 설정되어 있는 경우도 처리
}
tmp_adapter_info = tmp_adapter_info->Next; // 다음 어댑터 정보
}
728x90
반응형
'언어 > C++' 카테고리의 다른 글
터미널로 명령을 실행하고 결과 문자열 읽기 (0) | 2023.08.29 |
---|---|
다수 delimiter를 이용한 STL string tokenizer (feat. template) (0) | 2022.08.31 |
const란 (feat. c++, 오버로딩, call by value와 call by reference) (0) | 2022.07.20 |
for문 종류 (feat. c++, for each, range based for) (0) | 2022.07.20 |
for문 개념 (feat. c++, 초기식, 조건식, 증감식, 논리식) (0) | 2022.07.20 |
Comments