選択したアダプターの IP をコマンドで切り替えるプログラムを作成しようとしています。
そのために、GetAdaptersInfo() 関数を使用してアダプターのインデックスとその IP コンテキストを取得し、それを使用して現在の IP を削除しています (DeleteIPAddress(context) を使用)。
その後、AddIPAddress() によって新しい IP が挿入されます。
問題は、「デフォルト」の IP (AddIPAddress() によって設定されていない IP) を削除しようとすると、DeleteIPAddress 関数の呼び出しが失敗し、古い IP を削除する前に AddIPAddress を呼び出すと、アダプターに 2 つの異なる同時 IP が残ることです。
DeleteIPAddress 関数がエラー 31 (システムに接続されたデバイスが機能していません) で失敗します。
アダプターの IP アドレスを正常に変更する別の方法はありますか? AddIPAddress からコンテキストを取得せずに DeleteIPAddress を実際に使用できますか?