• 精通.NET互操作
  • 精通.NET互操作
  • 精通.NET互操作
  • 精通.NET互操作
  • 精通.NET互操作
21年品牌 40万+商家 超1.5亿件商品

精通.NET互操作

无光盘

23 3.4折 68 八五品

库存2件

河南周口
认证卖家担保交易快速发货售后保障

作者黄际洲、崔晓源 著

出版社人民邮电出版社

出版时间2009-05

版次1

装帧平装

货号2-1-3-3

上书时间2024-05-24

艺晴书屋

五年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:八五品
图书标准信息
  • 作者 黄际洲、崔晓源 著
  • 出版社 人民邮电出版社
  • 出版时间 2009-05
  • 版次 1
  • ISBN 9787115204349
  • 定价 68.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 419页
  • 字数 628千字
  • 正文语种 简体中文
【内容简介】
《精通.NET互操作P/Invoke,C++Interop和COMInterop》介绍Windows平台上的托管代码与非托管代码之间进行互操作的各种技术,包括由.NET提供的各种互操作方法、属性以及各种工具的用法及其工作原理。《精通.NET互操作P/Invoke,C++Interop和COMInterop》包括3部分,平台调用——主要用于解决在托管代码中调用非托管程序设计语言编写的flatAPI(如Win32API、C/C++风格的API等)的问题;C++Interop——技术专门用于解决托管代码与C++编写的非托管代码之间的互操作问题;COMInterop——介绍了使用COMInterop解决在托管代码中调用COM组件,以及在COM中调用托管类型的问题。《精通.NET互操作P/Invoke,C++Interop和COMInterop》适合所有在开发过程中需要涉及到托管代码与非托管代码进行交互操作的.NET开发人员阅读使用。不论是开始学习.NET编程的开发人员,还是刚刚接触互操作的资深.NET开发人员,都能从《精通.NET互操作P/Invoke,C++Interop和COMInterop》中获益。
【作者简介】
黄际洲,2004-2007年连续四年微软最有价值专家(MVP)。感兴趣的研究方向主要包括自然语占处理、信息检索、聊天机器人等。他曾翻译了三本游戏编程方面的书籍:《Direct3D中的2D编程》、(游戏编程AllinOne》及《DirectX角色扮演游戏编程》。
崔晓源,就任于微软亚洲研究院创新工程组,负责前沿研究成果的转化和新产品孵化。曾参与过LiveSearch拼写检查模块的研发工作。他最喜欢的项目是在线“电脑对联”第二版。目前他正致力于下一代企业搜索技术和社会网络计算相关的研发工作。
【目录】
第一部分P/Invoke
第1章使用C/C++类型的非托管函数1
1.1平台调用简介2
1.2HelloWorld!示例程序3
1.3获得要调用的非托管函数声明5
1.4平台调用基础知识8
1.5指定调用约定11
1.6指定入口点13
1.7指定字符集16
1.8处理平台调用中的异常或错误23
1.8.1非托管函数的托管定义导致的异常或错误24
1.8.2非托管函数导致的异常或错误30
1.9释放非托管内存37
1.9.1释放由malloc方法分配的非托管内存38
1.9.2释放由new运算符分配的非托管内存44
1.10动态平台调用47
1.10.1平台调用的原理和过程47
1.10.2通过手动加载非托管DLL实现动态平台调用49
1.10.3利用反射实现动态平台调用51
1.10.4利用GetDelegateForFunctionPointer实现动态平台调用54
1.11提升平台调用性能的技巧57
1.11.1显式地指定要调用的非托管函数的名称57
1.11.2对数据封送处理进行优化60
1.11.3尽量避免字符串编码转换66
第2章平台调用中的数据封送70
2.1字符串的封送71
2.1.1封送作为参数的字符串72
2.1.2封送作为返回值的字符串80
2.1.3封送BSTR类型的字符串82
2.2封送作为参数的结构体84
2.3封送从函数体内部返回的结构体91
2.3.1封送作为函数返回值返回的结构体92
2.3.2作为函数参数返回结构体96
2.4封送结构体中的字符串98
2.4.1结构体中的字符指针字段98
2.4.2结构体中的字符数组字段102
2.5控制结构体字段的封送行为105
2.6控制结构体的内存布局110
2.6.1定义结构体的部分字段111
2.6.2联合体的封送115
2.7封送嵌套的结构体119
2.7.1指向结构体指针字段的嵌套形式120
2.7.2结构体实例字段的嵌套形式123
2.8封送类125
2.8.1封送引用类型的简单示例126
2.8.2封送blittable引用类型128
2.8.3将引用类型封送为指向指针的指针130
2.9封送数组132
2.9.1封送简单类型数组132
2.9.2封送字符串数组135
2.10实战演练139
2.10.1背景介绍139
2.10.2模块介绍140
2.10.3实现平台调用144
第3章使用平台调用技术调用Win32API150
3.1确定要调用的函数151
3.2处理Win32函数返回的错误码156
3.3处理回调函数160
3.4使用Windows定义的常量166
3.5封送Win32数据类型176
3.5.1可直接复制到本机结构中的数据类型176
3.5.2非直接复制到本机结构中的数据类型177
3.6处理句柄179
3.7传递托管对象186
3.8使用P/Invoke调用Win32API的最佳实践190
3.8.1编码规范190
3.8.2性能192
3.8.3安全性205
3.8.4尽量使用Win32函数对应的.NET托管实现207

第二部分C++Interop
第4章C++Interop210
4.1从托管C++代码中调用非托管函数211
4.1.1使用平台调用技术调用非托管函数211
4.1.2使用C++Interop调用非托管函数213
4.2托管代码使用非托管C++类217
4.3在非托管代码中使用托管对象222
4.4混合编译托管和非托管代码228
4.4.1同一项目中的代码混合228
4.4.2同一源文件中的代码混合230
4.5C++Interop中的封送处理232
4.5.1封送字符串233
4.5.2封送数组236
4.5.3封送结构体237
4.5.4封送回调函数和委托239
4.6C++Interop的错误处理242
4.6.1通过托管C++封送非托管代码抛出的异常243
4.6.2在编译时检查类型特性249

第三部分COMInterop
第5章在.NET中使用COM组件251
5.1早期绑定COM对象252
5.1.1为COM类型库生成互操作程序集252
5.1.2通过互操作程序集早期绑定COM对象257
5.1.3创建自定义互操作程序集260
5.2后期绑定COM对象262
5.3通过与非托管代码互操作创建COM对象266
5.3.1通过P/Invoke创建COM对象266
5.3.2使用C++Interop包装COM对象269
5.4封送处理272
5.4.1封送常用数据类型272
5.4.2封送VARIANT数据类型277
5.4.3封送数组282
5.4.4封送COM集合286
5.4.5封送自定义数据结构290
5.4.6处理COM事件292
5.5错误处理297
5.5.1映射COM方法返回值HRESULT到托管代码297
5.5.2使用IErrorInfo接口提供扩展的错误信息305
5.6提升性能309
5.6.1细粒度接口和粗粒度接口310
5.6.2优化封送处理性能311
5.6.3避免使用后期绑定311
5.6.4使用ReleaseComObject释放COM对象312
5.6.5避免跨单元调用314
5.7共享互操作程序集317
第6章在COM中使用.NET程序集319
6.1使用ClassInterface暴露.NET类320
6.1.1使用AutoDual实现早期绑定321
6.1.2使用AutoDispatch实现后期绑定324
6.2使用接口暴露.NET类327
6.3使用属性调整类型库元数据332
6.3.1控制COM标识332
6.3.2控制COM可见性334
6.4封送处理336
6.4.1封送常用数据类型336
6.4.2封送字符串349
6.4.3封送数组355
6.4.4封送自定义数据结构362
6.4.5封送集合367
6.4.6封送VARIANT数据类型372
6.4.7传递可选参数386
6.4.8暴露托管事件392
6.5.NET异常处理397
6.5.1将异常转化为HRESULT397
6.5.2提供表示成功的HRESULT返回值401
6.6为COMInterop准备程序集403
附录A光盘内容介绍407
A.1源代码和可执行程序407
A.2工具软件407
A.3资源409
附录B有关互操作技术的互联网资源411
B.1Interop411
B.2P/Invoke411
B.3C++Interop412
B.4COMInterop413
B.5封送处理413
附录C本书所用术语表415
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP