词条 | WSAJoinLeaf() |
释义 | 简述:将一个叶节点加入一个多点会晤,交换连接数据,根据提供的流描述确定所需的服务质量。 #include <winsock2.h> SOCKET WSAAPI WSAJoinLeaf ( SOCKET s, const struct sockaddr FAR * name, int namelen, LPWSABUF lpCallerData, LPWSABUF lpCalleeData, LPQOS lpSQOS, LPQOS lpGQOS, int iFlags ); s:标识一个多点套接口的描述字。 name:将与套接口连接的远端名字。 namelen:名字长度。 lpCallerData:一个指针,指向多点会晤创建时传送给远端的用户数据。 lpCalleeData:一个指针,指向多点会晤创建时从远端传送回来的用户数据。 lpSQOS:一个指向套接口s的流描述的指针,每个方向一个。 lpGQOS:一个指向套接口组(如果存在)流描述的指针。 iFlags:标志位,用于指定套接口作为发送者。接收者或身兼二者。 返回值:若无错误发生,WSAJoinLeaf()返回新创建的多点套接口的描述字。否则的话,将返回INVALID_SOCKET错误,应用程序可通过WSAGetLastError()来获取相应的错误代码。 错误代码: WSANOTINITIALISED 在调用本API之前应成功调用WSAStartup()。 WSAENETDOWN 网络子系统失效。 WSAEADDRINUSE 指定的地址已经在使用中。 WSAEINTR 通过WSACancelBlockingCall()函数取消(阻塞)调用。 WSAEINPROGRESS 一个阻塞的WinSock调用正在进行中,或者服务提供者仍在处理一个回调函数 WSAEALREADY 在指定的套接口上正在运行一个非阻塞的WSAJoinLeaf()调用。 WSAEADDRNOTAVAIL 本地主机无法获得指定的地址。 WSAEAFNOSUPPORT 所指定地址族中的地址无法与本套接口一起使用。 WSAECONNREFUSED 加入试图被强制拒绝。 WSAEFAULT name或namelen参数不是用户地址空间的一个有效部分;namelen参数太小;lpCalleeData、 lpSQOS和lpGQOS的缓冲区太小; lpCallerData缓冲区太大。 WSAEINVAL 套接口已与一个地址捆绑。 WSAEINVAL 套接口未与一个地址捆绑。 WSAEISCONN 套接口已是多点会晤的一个成员。 WSAENETUNREACH 当前无法从本主机联系网络。 WSAENOBUFS 无可用缓冲区空间。套接口无法加入。 WSAENOTSOCK 描述字不是一个套接口。 WSAEOPNOTSUPP lpSQOS和lpGQOS中所指定的流描述无法满足。 WSAEPROTONOSUPPORT 服务提供者不支持lpCallerData参数。 WSAETIMEDOUT 加入试图超时,未建立多点会晤。 WSAEWOULDBLOCK 套接口被标志为非阻塞,但多点会晤加入操作无法立即完成。当用select()选为读连接后,可使用select()对套接口进行操作。 另请参阅: accept(), bind(), select(), WSAAccept(),WSAAsyncSelect(), WSAEventSelect(), WSASocket(). |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。