【发布时间】:2018-05-04 08:09:30
【问题描述】:
我是 Go 新手,我需要在 Windows 中捕获网络信息。我尝试使用指向字节数组的指针作为参数调用GetExtendedTcpTable(),但调用后什么也没有得到。
var (
iphelp = syscall.NewLazyDLL("iphlpapi.dll")
tcptable = iphelp.NewProc("GetExtendedTcpTable")
)
var (
buffer [20000]byte
table [20000]byte
length int
)
res1, res2, err := tcptable.Call(
uintptr(unsafe.Pointer(&buffer)),
uintptr(unsafe.Pointer(&length)),
1,
syscall.AF_INET,
uintptr(unsafe.Pointer(&table)),
0,
)
我预计“缓冲区”和“表”中有一些数据,但只有 0 个。 我做错了什么?
【问题讨论】:
-
感谢汤姆的改进!
标签: windows go system-calls