アダプターインデックスをその名前で取得したいのですが、数日間検索した後、GetAdapterIndex()関数が見つかりました。
#include <winsock2.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#pragma comment(lib, "IPHLPAPI.lib")
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
int main()
{
DWORD res;
DWORD rs;
ULONG IfIndex;
LPWSTR AdapterName;
int i = 0;
res = GetAdapterIndex(L"AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport", &IfIndex);
if(res == NO_ERROR)
printf("Adapter Index: %ld\n", IfIndex);
res = GetNumberOfInterfaces(&rs);
if(res == NO_ERROR)
printf("Number of Adapters: %ld\n", rs);
return 0;
}
まず、選択した特定のアダプタ名のインデックスが返されません。 2番目:アダプターが1つしかない場合でも、アダプターが2つあることが返されます。