win32api/ws2_32typedef.go
starainrt 0f82ba044b
修正 Win32 封装语义并补齐关键结构体/进程测试覆盖
- 修正 WTS 会话相关类型、枚举与活动会话选择逻辑
- 对齐 FILE_ID_DESCRIPTOR 布局与 FILE_ID_TYPE 语义,修复 OpenFileById 调用前提
- 修正 user32/shell32/kernel32 部分 API 的返回值、参数个数与错误处理
- 完善剪贴板更新格式读取的缓冲区重试逻辑
- 补充常用进程、线程、调试、桌面与会话 helper
- 增加结构体布局、会话查询、剪贴板、CreateProcess 等回归测试
- 将默认 CreateProcess 相关测试切到 helper 进程,并保留显式开启的 cmd.exe 集成覆盖
2026-06-06 17:46:02 +08:00

138 lines
2.4 KiB
Go

package win32api
const (
WSADESCRIPTION_LEN = 256
WSASYS_STATUS_LEN = 128
)
const (
AF_UNSPEC = 0
AF_INET = 2
AF_INET6 = 23
)
const (
SOCK_STREAM = 1
SOCK_DGRAM = 2
)
const (
SOL_SOCKET = 0xffff
)
const (
SO_REUSEADDR = 0x0004
SO_ERROR = 0x1007
)
const (
IPPROTO_IP = 0
IPPROTO_TCP = 6
IPPROTO_UDP = 17
)
const (
AI_PASSIVE = 0x00000001
)
const (
GAA_FLAG_SKIP_UNICAST = 0x00000001
GAA_FLAG_SKIP_ANYCAST = 0x00000002
GAA_FLAG_SKIP_MULTICAST = 0x00000004
GAA_FLAG_SKIP_DNS_SERVER = 0x00000008
GAA_FLAG_INCLUDE_PREFIX = 0x00000010
GAA_FLAG_SKIP_FRIENDLY_NAME = 0x00000020
GAA_FLAG_INCLUDE_WINS_INFO = 0x00000040
GAA_FLAG_INCLUDE_GATEWAYS = 0x00000080
GAA_FLAG_INCLUDE_ALL_INTERFACES = 0x00000100
GAA_FLAG_INCLUDE_ALL_COMPARTMENTS = 0x00000200
GAA_FLAG_INCLUDE_TUNNEL_BINDINGORDER = 0x00000400
)
const (
NI_MAXHOST = 1025
NI_MAXSERV = 32
)
const (
NI_NUMERICHOST = 0x00000002
NI_NUMERICSERV = 0x00000008
)
type SOCKET uintptr
const (
INVALID_SOCKET SOCKET = ^SOCKET(0)
SOCKET_ERROR int32 = -1
)
const (
SD_RECEIVE = 0
SD_SEND = 1
SD_BOTH = 2
)
const (
SOMAXCONN int32 = 0x7fffffff
)
type WSADATA struct {
WVersion WORD
WHighVersion WORD
SzDescription [WSADESCRIPTION_LEN + 1]byte
SzSystemStatus [WSASYS_STATUS_LEN + 1]byte
IMaxSockets WORD
IMaxUdpDg WORD
LPVendorInfo *byte
}
type ADDRESS_FAMILY uint16
type SOCKADDR struct {
Family ADDRESS_FAMILY
Data [14]byte
}
type SOCKADDR_IN struct {
Family ADDRESS_FAMILY
Port uint16
Addr [4]byte
Zero [8]byte
}
type SOCKADDR_IN6 struct {
Family ADDRESS_FAMILY
Port uint16
Flowinfo uint32
Addr [16]byte
ScopeID uint32
}
type ADDRINFOW struct {
Flags int32
Family int32
Socktype int32
Protocol int32
Addrlen uintptr
Canonname *uint16
Addr *SOCKADDR
Next *ADDRINFOW
}
type AdapterAddressInfo struct {
IfIndex uint32
AdapterName string
FriendlyName string
Description string
DNSSuffix string
OperStatus uint32
Mtu uint32
MACAddress string
PhysicalAddressLength uint32
TransmitLinkSpeed uint64
ReceiveLinkSpeed uint64
UnicastIPs []string
DNSServers []string
Gateways []string
}