原创 zz: 自定義StartIo

ZZ from : http://www.joenchen.com/archives/424 這個系統給的StartIo雖然好用, 但是很多時候我們還是需要使用自定義的StartIo例程的. 因爲系統提供的只能使用一個隊列.如果是我們

原创 WDM中通過driver name獲取Driver Object並遍歷此Driver產生的Device Object

這裏需要用到一個未公開的(undocumented)API ObReferenceObjectByName 函數可以通過對象名字得到包括設備對象在內的各種內核對象的指針,比如內核事件,互斥體對象等.他會增加內核對象的引用計數,使用完內核對

原创 ZZ:windbg 常用命令

ZZ from:http://www.cppblog.com/Walker/archive/2012/06/28/146523.html 不要再假裝自己寫的程序沒bug了,不可能的,debug工具你早晚得用上。最常見的debug工

原创 MFC Dialog中F1自動彈出WinHelp窗口

ZZ: http://blog.csdn.net/silvervi/article/details/6445172       MFC中,鍵盤上的F1加速鍵會直接和基類的WinHelp函數關聯,從而按下F1打開和應用同名的HLP文

原创 VS2010 如何縮減編譯文件大小(statically linked MFC)

自從 VS2005 升級到 VS2010 之後,build出來的文件(exe、dll)就莫名的增大了很多,MSDN的blog上有一篇blog,詳細描述了size增大的原因,以及縮減的方法。 總結如下 原因: size增大是因爲DLGIN

原创 WDM Power IRP 學習 (一)

    電源管理是WDM驅動的一個重點和難點,需要處理好,否則在測試、使用過程中很容易出現各種異常。最嚴重的就是 bug check 0x9F 相關的各種BSOD。 這裏簡單介紹下,power Irp包括兩類,一類是系統狀態相關power

原创 WDM Power IRP 講解 (一)

    xuexi 居然不能發???     電源管理是WDM驅動的一個重點和難點,需要處理好,否則在測試、使用過程中很容易出現各種異常。最嚴重的就是 bug check 0x9F 相關的各種BSOD。 這裏簡單介紹下,power

原创 eclipse顯示行號設置

最近在調試python的代碼,發現eclipse默認是不顯示行號的,google發現可以通過如下設置顯示行號: Eclipse IDE menu -> Window -> Preferences -> General -> Editor

原创 VS2012編譯出來的程序,在XP上運行,出現“.exe 不是有效的 win32 應用程序” “not a valid win32 application”

升級vs2010到vs2012,突然發現build出來的應用程序無法運行,提示“不是有效的 win32 應用程序” or “not a valid win32 application”。 參考CSDN論壇中的方法,找到下面這篇文章: ht

原创 python wx中 TextCtrl 實現與 StaticText 相似的顯示效果

在WX中通常會用到StaticText和TextCtrl來顯示字符。類似於MFC中的 Static 和 Edit。TextCtrl可以設置更多屬性,但是他有邊框,有底色。 他們的默認顯示效果,如下圖: code如下: import w

原创 驅動中區分 win8 的 fast startup 與普通的 cold startup

    win8在電源管理中有一個選項,default會是enable的。他就是 “turn on fast startup”。     我們要如何找到這個選項並進行設置呢,可以參考:http://www.eightforums.com/

原创 VS2012 + WDK8 編譯WDM驅動

爲了支持新的feature,需要update WDK的版本,目前最新的是win8 wdk RTM版。 區別於之前的WDK,win8 WDK RTM已經不再自帶build env,需要透過vs2012或者vs2010來build。 以vs2

原创 ExFAT boot checksum的python實現

前面的文章提到了ExFAT boot checksum出錯時的錯誤提醒,這裏如果需要確認boot checksum是否正確,需要將boot checusum的算法實現一遍. 這裏採用了python來實現. boot checksum算法參

原创 windbg + winRT (WOA windows on ARM) kernel debug

有看到WoA的機器,就想嘗試在WoA上調試AP、Driver。 目前,由於windbg沒有ARM的版本,因此無法想x86、x64平臺那樣簡單、快捷的來調試。因此只好通過remote debug的這種方式來嘗試。 首先想到的是利用windb

原创 ExFAT boot sector checksum簡單介紹

在測試各種卡插拔測試的時候,遇到這樣的一個error: ExFAT: Invalid boot sector checksum.  Was 0x12345678, should be 0x87654321.這個error會導致系統彈出提示