-
-
[求助]masm32编程bind函数的问题
-
发表于: 2008-6-25 08:25 4117
-
这样一段程序
_test proc
local @Data:WSADATA
local @SocketAddr:sockaddr_in
local @optval:byte
invoke WSAStartup,101h,addr @Data
invoke WSASocket,AF_INET,SOCK_STREAM,0,0,0,0
mov ConnectSocket,eax
invoke RtlZeroMemory,addr @SocketAddr,sizeof @SocketAddr
mov @SocketAddr.sin_family,AF_INET
invoke htons,wPort
mov SocketAddr.sin_port,ax
invoke bind,ConnectSocket,addr @SocketAddr,sizeof @SocketAddr
ret
_test endp
其中ConnectSocket是全局变量
当wPort这样定义时:wPort equ 1000,bind执行成功
当wPort这样定义时:wPort dw 1000,bind执行失败。GetLastError返回10014(系统检测到在一个调用中尝试使用指针参数时的无效指针地址)
我通过调试器检查各个参数和执行情况,没有发现不同,困扰了很长时间。请各位知道的帮帮我。
在此谢过
_test proc
local @Data:WSADATA
local @SocketAddr:sockaddr_in
local @optval:byte
invoke WSAStartup,101h,addr @Data
invoke WSASocket,AF_INET,SOCK_STREAM,0,0,0,0
mov ConnectSocket,eax
invoke RtlZeroMemory,addr @SocketAddr,sizeof @SocketAddr
mov @SocketAddr.sin_family,AF_INET
invoke htons,wPort
mov SocketAddr.sin_port,ax
invoke bind,ConnectSocket,addr @SocketAddr,sizeof @SocketAddr
ret
_test endp
其中ConnectSocket是全局变量
当wPort这样定义时:wPort equ 1000,bind执行成功
当wPort这样定义时:wPort dw 1000,bind执行失败。GetLastError返回10014(系统检测到在一个调用中尝试使用指针参数时的无效指针地址)
我通过调试器检查各个参数和执行情况,没有发现不同,困扰了很长时间。请各位知道的帮帮我。
在此谢过
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
赞赏
雪币:
留言: