• 怎么取消word的锁定 > 服务提供者接口
  • 服务提供者接口

    免费下载 下载该文档 文档格式:PDF   更新时间:2001-08-02   下载次数:0   点击次数:1
    文档基本属性
    文档语言:
    文档格式:pdf
    文档作者:Kirk Alexander
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    下载
    第14章 Winsock 2 服务提供者接口
    Winsock 2服务提供者接口( Service Provider Interface, SPI)代表着另一端的 Wi n s o c k编 程(和 Winsock 2API相对应) .Wi n s o c k的一端是 A P I,另一端则是 S P I.自第 6章到第 1 3章, 我们已对 W i n s o c k 2 A P I 进行了详细讨论. Winsock 2 是围绕着 Wi n d o w s 开放系统架构 (Windows Open System Architecture,WOSA)来设计的,WOSA在Winsock和Winsock应用程 序之间有一个标准 A P I;在Wi n s o c k和Wi n s o c k服务提供者(比如 T C P / I P)之间有一个标准的 S P I.图1 4 - 1展示了W s 2 _ 3 2 . d l l,即Winsock 2支持的动态链接库( D L L)在Wi n s o c k应用程序 和Winsock服务提供者之间的分布情况.本章详细地讲解了 Winsock 2 SPI.在结束本章的学习 时,大家自然便理解如何开发服务提供者,进一步扩展 Winsock 2的能力.
    Winsock 2应用程序 Winsock 2应用程序
    传输函数
    名字空间函数
    The Winsock 2 DLL Ws2_32.dll(32-bit) Winsock 2 传输服务 提供者接口 传输服务 提供者 传输服务 提供者 名字空间 提供者 名字空间 提供者 Winsock 2 名字空间 提供者接口
    图14-1 Winsock 2的WOSA架构
    14.1 SPI基础
    Winsock 2 SPI 允许开发两类服务提供者—传输提供者和名字空间提供者. "传输提供 者" (Transport providers,一般称作协议堆栈,比如 T C P / I P)即能够提供建立通信,传输数 据,日常数据流控制和错误控制等等功能的服务. "名字空间提供者" (Name space providers) 则把一个网络协议的定址属性和一个或多个用户友好名关联到一起,以便启用与协议无关的 名字解析方案.服务提供者不外乎就是 Wi n 3 2支持的 D L L,挂靠在 Winsock 2的W s 2 _ 3 2 . d l l模 块下.对 Winsock2 API中定义的许多内部调用来说,这些服务提供者都提供了它们的运作方 式.
    364
    ■ ■ ■ ■
    计计第二部分附Winsock API
    下载
    14.1.1 SPI命名规则 Winsock 2 SPI函数原型采用下面的函数前缀命名规则: WSP(Winsock提供者) :用于传送服务提供者函数. NSP(名字空间提供者) :用于名字空间提供者函数. WPU(Winsock提供者上调) :供服务提供者调用的 Ws2_32.dll支持函数使用. WSC(Winsock配置) :供在Winsock 2中安装服务提供者的函数使用.
    举个例子来说,一个名为 WSAInstallProvider的函数,仅仅是一个 SPI配置函数. 14.1.2 Winsock 2 API和SPI函数之间的映射 多数情况下,一个应用程序在调用 Winsock 2函数时, W s 2 _ 3 2 . d l l会调用相应的 Wi n s o c k S P I函数,利用特定的服务提供者执行所请求的服务.举个例子来说, s e l e c t对应W S P S e l e c t, WSAConnect对应WSPConnect,而WSAAccept则对应WSPAccept.然而,并非所有的 Winsock 函数都有对应的 SPI函数.下面列出了这些例外情况.

    htonl,htons,ntohl和ntohs这一类的支持函数在 Ws2_32.dll内部执行,没向下传给服务 提供者.这一点对这些函数的 WSA版本来说,也不例外. 像inet_addr和inet_ntoa这样的IP转换函数只能在 Ws2_32.dll内执行. Winsock 1.1中,所有由IP决定的名字转换和解析函数(比如getXbyY,WSAAsynGetXByY, WSACancelAsyncRequest以及gethostname)都在Ws2_32.dll内部执行. Wi n s o c k服务提供者列举和与锁定挂钩相关的函数都在 W s 2 _ 3 2 . d l l内部执行.因此, W S A E n u m P r o t o c o l s,W S A I s B l o c k i n g,W S A S e t B l o c k i n g H o o k和W S A U n h o o k B l o c k i n g 没有相应的 SPI函数.

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 如何解除word锁定  怎么锁定word  如何锁定word文档  怎样锁定word文档  如何锁定word工具栏  2007word内容被锁定  2007word锁定  怎么取消word安全模式  怎么取消word页眉页脚