词条 | 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(). |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。