WSAIoctl()

  简述:控制一个套接口的模式。
  #include <winsock2.h>
  int WSAAPI WSAIoctl(SOCKET s, DWORD
  dwIoControlCode, LPVOID lpvInBuffer, DWORD
  cbInBuffer, LPVOID lpvOutBuffer, DWORD
  cbOutBuffer, LPDWORD lpcbBytesReturned,
  LPWSAOVERLAPPED lpOverlapped,
  LPWSAOVERLAPPED_COMPLETION_ROUTINE
  lpCompletionRoutine);
  s:一个套接口的句柄。
  dwIoControlCode:将进行的操作的控制代码。
  lpvInBuffer:输入缓冲区的地址。
  cbInBuffer:输入缓冲区的大小。
  lpvOutBuffer:输出缓冲区的地址。
  cbOutBuffer:输出缓冲区的大小。
  lpcbBytesReturned:输出实际字节数的地址。
  lpOverlapped:WSAOVERLAPPED结构的地址。
  lpCompletionRoutine:一个指向操作结束后调用的例程指针。
  返回值:
  调用成功后,WSAIoctl ()函数返回0。否则的话,将返回INVALID_SOCKET错误,应用程序可通过WSAGetLastError()来获取相应的错误代码。
  错误代码:
  WSANOTINITIALISED                在调用本API之前应成功调用WSAStartup()。
  WSAENETDOWN                        网络子系统失效。
  WSAEINVAL                                cmd不是一个合法的命令;或者一个输入参数非法;或者命令对于该种类型的套接口不适用。
  WSAEINPROGRESS                在一个回调函数运行时调用了该函数。
  WSAENOTSOCK                        描述字不是一个套接口。
  WSAEOPNOTSUPP                指定的ioctl命令无法实现,例如在SIO_SET_QOS或 SIO_SET_GROUP_QOS中指定的流描述无法实现。
  WSA_IO_PENDING                一个重叠操作被成功启动,过后将报告完成情况。
  WSAEWOULDBLOCK                套接口标志为非阻塞,且所需操作将产生阻塞。
  另请参阅: socket(), ioctlsocket(), WSASocket(),setsockopt(), getsockopt().

自定义分类:
编程语言计算机
 
贡献者:
无限路由
Copyright © 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4