Windows 2000で GetExtendedTcpTable が使えない理由とは?
Windows 2000に GetExtendedTcpTable/GetExtendedUdpTable を実装したところ、関数がエラーを返して動作しないことがわかりました。
Curr Port 最新版がこの実装した拡張カーネルに差し替えると動作しないというわけですが
解析してみると意外なことが…。
GetExtendedTcpTable は Device\Tcp6
GetExtendedUdpTable は Device\Ip6
を開いて、データを取得する
つまり、Tcp v6ドライバがインストールされてないとXPでもだめなのかもしれない。
ためしに古いバージョンの CurrPort 起動してみたら動作した
たぶん、これCurr Port が Ipv6非実装時の処理をやってないバグじゃないかなと思ったり。
* XP の ipv6ドライバ無効にして試してみたところちゃんと動いたのでtcpスタックの構造体の違いのような気がしてきた
Comments