文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
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 );
     }


相关阅读 更多 +
排行榜 更多 +
mirrox模组(玩家自制)手机版下载

mirrox模组(玩家自制)手机版下载

休闲益智 下载
集装箱模拟器手机版下载安装

集装箱模拟器手机版下载安装

模拟经营 下载
哔咔漫画app下载免费2025

哔咔漫画app下载免费2025

浏览阅读 下载