文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Windows Sockets2 详解1--提供者专用扩展机制

Windows Sockets2 详解1--提供者专用扩展机制

时间:2010-11-15  来源:zhoujie

扩展函数的函数原型、GUID值以及详细调用信息由服务提供商负责提供,调用者不需要知道其实现细节。这使得对与同一个功能函数可以由多个服务提供商提供。

mswsock.h中包含了微软对Windows Sockets Api的专有扩展(微软也是一个服务提供商啊)。下面代码详细演示了如何使用微软提供的扩展函数LPFN_DISCONNECTEX


代码 //1、取得函数指针

void * mDisconnectExFunc;

int loadDisconnectEx( SOCKET fd )

{

     LPFN_DISCONNECTEX fnDisConnectEx = NULL;

     GUID guidDisConnectEx = WSAID_DISCONNECTEX;

     DWORD dwByte;

     ::WSAIoctl( fd, SIO_GET_EXTENSION_FUNCTION_POINTER,

              &guidDisConnectEx, sizeof(guidDisConnectEx),

              &fnDisConnectEx, sizeof(fnDisConnectEx),

              &dwByte, NULL, NULL);

 

     mDisconnectExFunc = fnDisConnectEx;

 

     return NULL != mDisconnectExFunc ? 0 : -1;

}

//2、调用

LPFN_DISCONNECTEX fnDisConnectEx = (LPFN_DISCONNECTEX)mDisconnectExFunc;

     if( NULL != fnDisConnectEx ) {

         return fnDisConnectEx( fd, lpOverlapped, dwFlags, reserved );
     }


相关阅读 更多 +
排行榜 更多 +
越野战车

越野战车

飞行射击 下载
枪王重生之战

枪王重生之战

飞行射击 下载
防空3d

防空3d

飞行射击 下载