C ++でデフォルトのWindowsゲートウェイのIPアドレスを読み取る方法を誰かが教えてくれますか。GetAdaptersInfo() を使用してすべての IP アドレスのリストを読み取ることはできますが、デフォルト ゲートウェイの IP アドレスを読み取ることはできません。
GetAdaptersInfo( pAdapterInfo, &BufferLength );
// Iterate the network adapters and print their MAC address.
while( pAdapterInfo )
{
pAdapterInfo = pAdapterInfo->Next; // Get next adapter info
}
これがコード スニペットで、どのフィールドがデフォルト ゲートウェイを提供するのか疑問に思っています。リスト内のすべての IP アドレスのゲートウェイを取得できますが、デフォルト ゲートウェイの IP アドレスが必要です。
これが必要な元の理由は、デフォルト ゲートウェイを取得した IP の特定の MAC アドレスを (多数の MAC アドレスから) 選択することでした。リストを繰り返し処理している間に複数の MAC アドレスを取得するため、デフォルト ゲートウェイを持つ IP の MAC アドレスを取得するのが最善の方法であると考えました。その後気が変わったので、有線接続の MAC アドレスを選択します。しかし、すべてのアダプターを反復処理するのではなく、デフォルト ゲートウェイを取得する方法を知りたいと思っています。