《网络连接服务开发人员参考库 第3卷 RPC与WNet》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)David Iseminger主编;前导工作室译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2001
  • ISBN:7111086058
  • 页数:529 页
图书介绍:

第一部分 概述 1

第1章 套书概述 1

1.1 套书的组织结构 1

1.2 套书的设计思想 2

第2章 本书内容 4

第3章 使用微软参考资源 6

3.1 微软开发人员网络 6

3.1.1 MSDN与在线MSDN的比较 7

3.1.2 MSDN订阅 9

3.1.3 使用MSDN 10

3.1.4 使用在线MSDN 15

3.2 Windows编程参考系列 24

第4章 查找你需要的开发人员资源 25

4.1 开发人员支持 25

4.2 联机资源 27

4.3 Internet标准 27

4.4 学习产品 28

4.5 会议 29

4.6 其他资源 30

第5章 避免常见的RPC编程错误 31

5.1 解决方法概述 31

5.2 常见的RPC编程错误 31

5.2.1 Pointer_default(unigue)和嵌套指针 32

5.2.2 在一个支持RPC的结构里,有效的SWitch_is值并不保证指针是非NULL的 32

5.2.3 NULL DACL不提供任何保护 33

5.2.4 在进行任何与安全有关的操作前调用Rpclmpersonate Client() 33

5.2.5 开始和结束假冒 34

5.2.6 只有在idl文件中使用string说明的字符串才是以零结尾的 35

5.2.7 不能将任意长度的数据拷贝到固定长度的缓冲区中 35

5.2.8 size_is可能导致一个长度为0的结构 36

5.2.9 size_is或Length_is说明中的算术表达式很容易溢出 37

5.2.10 严格的上下文句柄 37

6.1 编程模型 39

第二部分 RPC与WNet编程参考 39

第6章 微软RPC模型 39

6.2 客户机-服务器模型 41

6.3 计算-服务器模型 42

6.4 RPC是如何工作的 42

6.5 RPC的OSF标准 43

6.6 微软RPC组成部分 44

6.7 RPC扩展了客户机-服务器计算模型 45

第7章 安装RPC编程环境 46

7.1 开发32位Windows应用程序 46

7.2 开发Macintosh客户应用程序 47

第8章 创建RPC应用程序 49

8.1 一般的创建过程 49

8.1.1 开发接口 49

8.1.2 开发服务器程序 53

8.1.3 开发客户机程序 54

8.3 异常处理 55

8.2 环境、编译器和API集合的选择 55

第9章 连接客户机与服务器 57

9.1 基本的RPC绑定术语 57

9.2 服务器如何准备连接 57

9.2.1 注册接口 58

9.2.2 创建绑定信息 59

9.2.3 登记服务程序 59

9.2.4 注册端点 60

9.2.5 侦听客户机调用 60

9.3 客户机如何建立连接 61

9.3.1 发出远程过程调用 61

9.3.2 寻找服务器宿主计算机 61

9.3.3 寻找服务程序 63

9.3.4 创建一个绑定 63

10.2 定义接口 64

10.1 单机版的应用程序 64

第10章 简单教程 64

10.3 生成UUID 65

10.4 IDL文件 65

10.5 ACF文件 66

10.6 生成码桩文件 66

10.7 客户应用程序 68

10.8 服务应用程序 70

10.9 终止服务应用程序 71

10.10 编译和链接 72

10.11 运行应用程序 73

第11章 IDL和ACF文件 75

11.1 接口定义语言文件 75

11.1.1 IDL接口头 76

11.1.2 IDL接口主干 76

11.2.2 ACF主干 77

11.2.1 ACF头 77

11.2 应用程序配置文件 77

11.3 MIDL编译器的输出 78

第12章 数据和语言特点 79

12.1 强类型 79

12.1.1 基本数据类型 80

12.1.2 有符号和无符号类型 80

12.1.3 宽字符类型 80

12.1.4 结构 81

12.1.5 联合 81

12.1.6 枚举类型 82

12.1.7 数组 82

12.1.8 函数属性 82

12.1.9 域属性 82

12.1.10 三种指针类型 83

12.1.11 类型属性 84

12.2 方向属性 84

12.3 数据的表示 86

12.3.1 transmit_as和represent_as属性 87

12.3.2 wire_marshal和user_marshal属性 94

第13章 数组与指针 100

13.1 数组和RPC 100

13.1.1 数组的种类 100

13.1.2 数组属性 103

13.1.3 多维数组 106

13.2 指针和RPC 108

13.2.1 指针类型 108

13.2.2 指针和内存分配 111

13.2.3 缺省指针类型 112

13.2.4 指针属性类型的继承 112

13.3 数组、字符串和指针的使用 113

13.3.1 计数字符数组 114

13.3.2 字符串 116

13.3.3 多层指针 117

第14章 管道 119

14.1 基本的管道术语 119

14.2 管道的状态 119

14.3 在IDL文件中定义管道 119

14.4 客户端管道的实现 120

14.4.1 实现客户端的输入管道 121

14.4.2 实现客户端的输出管道 123

14.5 服务器端管道的实现 125

14.5.1 实现服务器端的输入管道 125

14.5.2 实现服务器端的输出管道 126

14.6 多管道的规则 127

14.7 管道与非管道参数的组合 128

第15章 绑定与句柄 129

15.1 绑定句柄 129

15.1.1 绑定句柄的类型 129

15.1.2 客户端绑定 134

15.1.3 服务器端绑定 140

15.1.5 解释绑定信息 150

15.1.4 完全和部分绑定句柄 150

15.1.6 微软RPC对绑定句柄的扩展 151

15.1.7 绑定句柄函数 153

15.1.8 RPC名字服务数据库 153

15.2 上下文句柄 158

15.2.1 使用上下文句柄开发接口 158

15.2.2 使用上下文句柄开发服务器 159

15.2.3 使用上下文句柄开发客户机 161

15.2.4 服务器上下文关闭例程 162

15.2.5 客户机上下文的重置 163

15.2.6 多线程客户机和上下文句柄 163

16.1 RPC内存管理简介 164

16.2 内存是如何分配和回收的 164

第16章 内存管理 164

16.2.1 midl_user_allocate函数 165

16.2.2 midl_user_free函数 166

16.2.3 RpcSs内存管理包 166

16.3 内存管理模式 167

16.3.1 单个节点的分配和回收 167

16.3.2 码桩分配的缓冲区 167

16.3.3 应用程序分配的缓冲区 168

16.3.4 服务器上的永久性存储区 169

16.4 谁来管理内存 169

16.4.1 顶层和嵌入指针 169

16.4.2 参数的方向属性 170

16.4.3 长度、大小和方向属性 170

16.4.4 参数的指针属性 171

16.4.5 指针与方向属性的组合 171

16.4.6 函数返回值 172

16.6 内存分配规则总结 173

16.5 内存泄漏 173

第17章 串行化服务 175

17.1 使用串行化服务 175

17.2 过程串行化 176

17.3 类型串行化 177

17.4 串行化句柄 178

17.4.1 隐式与显式句柄 178

17.4.2 串行化样式 178

17.4.3 获取编码标识符 183

第18章 安全 184

18.1 RPC安全的基本要点 184

18.1.1 主体名 184

18.1.2 认证级别 185

18.1.3 认证服务 185

18.1.4 客户机认证证书 185

18.1.5 授权服务 185

18.1.8 密钥获取函数 186

18.1.6 服务质量 186

18.1.7 授权函数 186

18.1.9 客户机假冒 187

18.2 安全方式 187

18.2.1 安全支持提供者接口 188

18.2.2 Windows NT和Windows2000的传输层安全 192

第19章 安装和配置RPC应用程序 195

19.1 配置名字服务提供者 195

19.1.1 为Windows95配置名字服务 195

19.1.2 为Windows NT或Windows2000配置名字服务 196

19.1.3 为Windows 3.x或MS-DOS配置名字服务 197

19.1.4 启动和终止微软定位器 197

19.2 注册表信息 198

19.2.1 使用RPC注册表条目 198

19.2.2 为端口分配和选择性绑定配置Windows NT和Windows 2000注册表 199

19.3 利用Winsock代理使用RPC 200

19.4.1 为SPX/IPX配置RPC 201

19.4 SPX/IPX上的安装 201

19.4.2 配置SAP和RPC 202

19.5 配置安全服务器 203

第20章 异步RPC 205

20.1 声明异步函数 205

20.2 客户端的异步RPC 206

20.2.1 发出异步调用 206

20.2.2 等待异步答复 208

20.2.3 接收异步答复 209

20.3 服务器端的异步RPC 210

20.3.1 处理异步调用 210

20.3.2 接收取消请求 210

20.3.3 发送异步答复 210

20.3.4 异步I/O和异步RPC 212

20.4 异步调用的因果顺序 212

20.6 在有名管道协议上的异步RPC 213

20.5 错误处理 213

20.7 使用DCE管道的异步RPC 214

20.7.1 异步管道 214

20.7.2 声明异步管道 214

20.7.3 客户端的异步管道处理 215

20.7.4 服务器端的异步管道处理 216

20.8 异步DCOM 219

第21章 RPC消息队列 220

21.1 消息队列服务体系结构概述 220

21.2 消息和消息队列的特征 221

21.3 使用MSMQ作为RPC的传输层 221

21.4 RPC-MQ应用程序的系统需求 222

21.5 开发RPC-MQ应用程序 222

21.6 MSMQ安全服务 224

第22章 使用HTTP的远程过程调用 225

22.1 使用HTTP作为一个RPC传输层 225

22.2 HTTP RPC的安全机制 227

22.3 HTTP RPC的系统需求 228

22.4 为HTTP RPC配置计算机 228

第23章 RPC程序示例 229

第24章 RPC数据类型、结构和常量 231

24.1 RPC结构 231

24.2 RPC枚举类型 245

24.3 其他RPC类型 246

24.4 RPC常量 255

24.5 RPC返回值 260

第25章 RPC函数参考 264

第26章 RPC回调与通知函数 434

第27章 RPC宏 439

第28章 Windows连网 445

28.1 关于Windows连网 445

28.1.1 WNet函数 446

28.2.1 使用连接对话框 447

28.2 Windows连网的使用 447

28.1.2 Windows连网操作 447

28.2.2 枚举网络资源 448

28.2.3 添加网络连接 451

28.2.4 为共享资源分配驱动器号 452

28.2.5 确定共享资源的位置 453

28.2.6 检索连接名 455

28.2.7 检索用户名 456

28.2.8 取消网络连接 457

28.2.9 检索网络错误 457

28.3 Windows连网参考 459

28.3.1 Windows连网的函数 459

28.3.2 过时的函数 460

28.3.3 Windows连网的结构 491

第三部分 附录 501

网络连接服务编程元素索引 501

RPC术语表 522