目前分類:Windows (5)

瀏覽方式: 標題列表 簡短摘要

每次進入 MSDN 都會跑到台灣的 MSDN: http://msdn.microsoft.com/zh-tw/default.aspx,不管是用 http://msdn.microsoft.com/,還是用 http://www.microsoft.com/msdn/

想想這樣也無所謂,但是很不幸的是,台灣的 MSDN Library(文件庫)卻是殘缺不全的版本,竟然少了我最想看的 Windows Development,也就是講 Windwos SDK 的東東。反觀大陸的 MSDN Library 就有 Windows 开发,不過好像裏面內容也是殘缺不全,但仍有參考價值。最後,正確的 Windows Development 就在 http://msdn.microsoft.com/en-us/library/ee663300%28v=VS.85%29.aspx,大家不要找錯方向了。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

前言

『Windows Device Driver Progamming 驅動程式設計』,這本書是大陸人寫的。我買的是簡體書,原書名為『Windows 驱动开发技术详解 (Windows Driver Development Internals)』。簡體書的價格為 65 人民幣,我買的書價為 65x5=325 台幣,相較於繁體書的定價 650 台幣,可以說是相當便宜。

第一章 從二個最簡單的驅動談起

  1. 文中所提到 Compuware 公司開發的 DriverStudio 是屬於商業軟體,而且也已經停止開發銷售了。還好網路上還可以找到破解版,我在 filecrop 發現不少下載點
  2. 利用 DriverMonitor 加載NT驅動後,並沒有在 windows 裝置管理員出現,跟原文有點不相同,真奇怪。

第二章 Windows 操作驅動的基本概念

  1. 文中提到 Dependency 工具,全名應為『Dependency Walker』,在 WinDDK\7600.16385.0\tools\ToolIndex.htm 說明文件裏有提到,檔案放在 WinDDK\7600.16385.0\tools\Other\i386\Depends.exe。

第三章 Windows 驅動編譯環境配置,安裝及測試

  1. 文中提到 DbgView 工具,全名應為『DebugView』,可在 Windows 網站下載,網址:http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx。目前版本為 4.76,發布日期為 October 16, 2008。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

今天第一次編譯 windows driver,真是出師不利,編譯別人寫好的 driver 也出現下列錯誤。

BUILD: Compiling and Linking d:\sample code\windows driver development internals\chapter01\nt_driver\1 directory
Configuring OACR for 'root:x86chk' - 
_NT_TARGET_VERSION SET TO WINXP
1>errors in directory d:\sample_code\windows_driver_development_internals\chapter01\nt driver\1
1>c:\winddk\7600.16385.0\bin\makefile.new(7117) : error U1087: cannot have : and :: dependents for same target
1>nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR= failed - rc = 2

還好有 google 大神相助,找到原因竟然只是因為程式碼路徑包含空白,造成 build 誤判。只要把 d:\sample code\windows driver development internals\chapter01\nt_driver\1 所有的空白去掉即可。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

前言

  1. 這本書在買來時讀了一陣子,發現完全看不懂程式碼,裏面有一堆 windows API 函數,但是書中又未曾提到這些用法,看了半天也不知其所以然,只好先放棄另尋其它基本的書籍。
  2. 接著在圖書館裏找了一堆有關 windows C++ 的書籍,裏面都是提到如何利用 MFC 來寫 windows 程式,而都未提及書中最常見的 DialogBox 用法。
  3. 最後退而求其次,改而找尋最舊的 windows C 的書籍,總算找到三本書,Windows 程式設計實務(一)基礎篇,Windows 程式設計實務(二)進階篇,WINDOWS程式設計。看完了第一本書才總算了解我缺乏什麼東西,才導至都看不懂 windows via c/c++。原來我連最基本的 windows api program 都不會,而這本書很明顯是屬於進階的書,沒有基礎根本就像在看天書。

基礎

  1. 必須先了解如何利用 window api 來撰寫 window 視窗程式,推薦一本書《最新Windows程式設計實例入門-Visual C ++實作》,這本書是一位日本醫生所寫的,內容也已經全面更新採用 Visual C++ 2008 來編譯。
  2. 免費工具可以用 Visual C++ 2008 Express,並且搭配 ResEdit 來編輯 rc 資源檔,還有記得安裝 Windows SDK

參考

  1. 這里有一份 NT 時期的 win32 API 的說明,雖然比較舊但是還是有很大的參考價值,下載
  2. 安裝了 Windows SDK 後,想要看裏面的 doc,卻只看到一堆 hxs/hxi,這時就需要 H2Viewer 來解讀,不過有很多 windows api 卻查不到資料,傷腦筋。
  3. Windows 7 New API List
  4. Windows Vista New API List
  5. Windows System Services API

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

第一章 錯誤處理

  1. 文中有提到的 Error Lookup 小程式,在程式集是找不到踪影,程式位於 C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\errlook.exe。
  2. 文中有提到 Watch 窗口,在一般編輯模式下是看不到的,必須按 F10 進入偵錯模式才會出現。

第二章 字符和字符串處理

  1. 文中有提到 Extend The Global Reach Of Your Applications With Unicode 5.0,網址已改成 http://msdn.microsoft.com/en-us/magazine/cc163490.aspx,繁體中文翻譯文在 http://msdn.microsoft.com/zh-tw/magazine/cc163490.aspx
  2. 文中有提到 winnt.h,在 Visual C++ 2008 Express 中沒有發現,卻在 WinDDK(Windows Driver Kit) 中發現,真是奇怪。實際路徑為 C:\WinDDK\7600.16385.0\inc\api\winnt.h。
  3. 文中有提到 "Header Annotations",網址已改成 http://msdn.microsoft.com/en-us/library/aa383701%28VS.85%29.aspx,沒有中文翻譯。
  4. 文中有提到 string.h 及 tchar.h,在 Visual C++ 2008 Express 中沒有發現,卻在 WinDDK(Windows Driver Kit) 中發現,真是奇怪。實際路徑為 C:\WinDDK\7600.16385.0\inc\crt。
  5. 文中提到的 _tcslen 定義,實際上在 _UNICODE 內還包含一大堆定義,該書只是簡述而已。
  6. 文中有提到 strsafe.h,在 Visual C++ 2008 Express 中沒有發現,卻在 WinDDK(Windows Driver Kit) 中發現,真是奇怪。實際路徑為 C:\WinDDK\7600.16385.0\inc\api\strsafe.h。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()