0

win32関数呼び出しのコンテキストで「有効な IPv4 アドレス」とは何かを知りたいです。ドキュメントGetIpAddrTableには、Vista 以降ではこの関数が無効な IPv4 アドレスを返さないことが示されています。有効性を判断する方法については説明していません。

Windows Server 2008 および Windows Vista では、GetIpAddrTable 関数によって返される IPv4 アドレスは、ローカル コンピューターの TCP/IP スタックのメディア センシング機能の影響を受けません。GetIpAddrTable 関数は、有効な IPv4 アドレスのみを返します。

この関数の呼び出しが機能しているアダプターのアドレスを返さないという問題を掘り下げています。アダプターは、ドライバーの DHCP サーバーを使用して、リンクローカル IP アドレスを割り当てます。ほとんどのシステムでは、これで問題なく動作します。特定の顧客システムでは、そうではありません。

Ping およびトラフィック テストは正常に機能し、アダプタは からの出力に表示されますGetAdaptersAddresses。私の他の質問は、唯一の違いは IPv6 サポートであることを示しているようです。GetIpAddrTable問題のアダプターはリンクローカル IPv6 アドレスも受け取りますが、出力に表示されるのを妨げてはいけませんか?

クロスリファレンス

4

1 に答える 1

0

簡単な答え: まさにその通りに動作します。IPv4 を実行している接続されたインターフェイスを返します。

IPv4 インターフェイスに制限する場合、GetAdaptersAddresses もネットワーク アダプターをスキップすることを確認しました。そのため、ドライバーと Windows の間で IPv4 インターフェイスとしての識別に問題があるようです。

于 2012-11-30T20:25:57.623 に答える