精通.NET互操作

精通.NET互操作 pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:黃際洲
出品人:
頁數:419
译者:
出版時間:2009-5
價格:68.00元
裝幀:平裝
isbn號碼:9787115204349
叢書系列:
圖書標籤:
  • .NET
  • interop
  • 平颱調用
  • 互操作
  • p/invoke
  • pinvoke
  • 托管代碼
  • 非托管代碼
  • NET互操作
  • COM互操作
  • C#
  • VB
  • NET
  • 進程間通信
  • Windows API
  • DllImport
  • Marshal
  • InteropServices
  • 平颱調用
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

《精通.NET互操作P/Invoke,C++Interop和COM Interop》介紹Windows平颱上的托管代碼與非托管代碼之間進行互操作的各種技術,包括由.NET提供的各種互操作方法、屬性以及各種工具的用法及其工作原理。《精通.NET互操作P/Invoke,C++Interop和COM Interop》包括3部分,平颱調用——主要用於解決在托管代碼中調用非托管程序設計語言編寫的flat API(如Win32 API、C/C++風格的API等)的問題;C++ Interop——技術專門用於解決托管代碼與C++編寫的非托管代碼之間的互操作問題;COM Interop——介紹瞭使用COM Interop解決在托管代碼中調用COM組件,以及在COM中調用托管類型的問題。《精通.NET互操作P/Invoke,C++Interop和COM Interop》適閤所有在開發過程中需要涉及到托管代碼與非托管代碼進行交互操作的.NET開發人員閱讀使用。不論是開始學習.NET編程的開發人員,還是剛剛接觸互操作的資深.NET開發人員,都能從《精通.NET互操作P/Invoke,C++Interop和COM Interop》中獲益。

著者簡介

黃際洲,2004—2007年連續四年微軟最有價值專傢(MVP)。感興趣的研究方嚮主要包括自然語言處理、信息檢索,聊天機器人等。他曾翻譯瞭三本遊戲編程方麵的書籍:《Direct 3D中的2D編程》、《遊戲編程All in One)及《DirectX角色扮演遊戲編程》。

崔曉源,就任於微軟亞洲研究院創新工程組,負責前沿研究成果的轉化和新産品孵化。曾參與過Live Search拼寫檢查模塊的研發工作。他最喜歡的項目是在綫“電腦對聯”第二版。目前他正緻力於下一代企業搜索技術和社會網絡計算相關的研發工作。

圖書目錄

第一部分 P/Invoke 第1章 使用C/C++類型的非托管函數 1 1.1 平颱調用簡介 2 1.2 Hello World!示例程序 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章 使用平颱調用技術調用Win32 API 150 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調用Win32 API的最佳實踐 190 3.8.1 編碼規範 190 3.8.2 性能 192 3.8.3 安全性 205 3.8.4 盡量使用Win32函數對應的.NET托管實現 207第二部分 C++ Interop 第4章 C++ Interop 210 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.5 C++ Interop中的封送處理 232 4.5.1 封送字符串 233 4.5.2 封送數組 236 4.5.3 封送結構體 237 4.5.4 封送迴調函數和委托 239 4.6 C++ Interop的錯誤處理 242 4.6.1 通過托管C++封送非托管代碼拋齣的異常 243 4.6.2 在編譯時檢查類型特性 249第三部分 COM Interop 第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 將異常轉化為HRESULT 397 6.5.2 提供錶示成功的HRESULT返迴值 401 6.6 為COM Interop準備程序集 403附錄A 光盤內容介紹 407 A.1 源代碼和可執行程序 407 A.2 工具軟件 407 A.3 資源 409附錄B 有關互操作技術的互聯網資源 411 B.1 Interop 411 B.2 P/Invoke 411 B.3 C++ Interop 412 B.4 COM Interop 413 B.5 封送處理 413附錄C 本書所用術語錶 415
· · · · · · (收起)

讀後感

評分

两位作者都MS技术的顶尖高手,在.net/c++/com上有很深的开发功力。此书的出版,是他们对自己多年开发经验一次集中凝练,对于在win上开发.net应用的朋友,强力推荐此书!  

評分

首先,不得不说,市面上,专门介绍.NET互操作的书籍还是很少见的,关于跨平台调用以及dll的相关操作只是以章节的形式出现在大家都很推崇的C#经典书籍中,但是书中往往只是介绍性或者简单的对其进行了叙述,缺乏实战性,不是那种短时间内"看了就会,会了就用"的类型. 本人最近的项目正好...  

評分

两位作者都MS技术的顶尖高手,在.net/c++/com上有很深的开发功力。此书的出版,是他们对自己多年开发经验一次集中凝练,对于在win上开发.net应用的朋友,强力推荐此书!  

評分

托管代码与非托管代码之间的交互是许多程序员在.NET开发平台上不得不面对的任务。《精通.NET互操作性:PInvoke, C++ Interop和COM Interop》这本书深入而透彻地解析了.NET支持的三种与原生代码互操作的技术,作者以自己的经验讲述了原生代码与托管代码之间互操作所涉及到的编程...  

評分

值得深入学习和研读啊。 .NET的互操作应该是一个越来越热门的领域,打算抽个时间仔细研究研究。谢谢两位作者的辛劳啊 :)  

用戶評價

评分

實用的好書,繁縟的行文

评分

.net的北冥神功啊

评分

就有效信息部分來說還是不錯的,但是整本書前後重復的太多,還有示例代碼、結果什麼的太占篇幅瞭,直接省略號去掉重復的部分即可

评分

.net的北冥神功啊

评分

實用的好書,繁縟的行文

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有