及 IOCTL_PAR_QUERY_DEVICE_ID
所以要
#include
#include
而這兩個檔案是在 Windows DDK (WDK)裏有,所以要 add additional include directory
在 wdk 中的 \inc\api
現在問題來了,原來的project 為 vs2005
轉換成vs2008後 會出現一堆沒有定義 _In_opt 等等的錯誤
(為什麼要轉成 vs2008 的原因 是因為在vs2005中 下斷點有問題
有些部份無法設 breakpoint 會出現 the breakpoint will not currently be hit. invalid file line xxx
改成vs2008 之後就好了)
那是因為 vs2008 的 sal.h 和 ddk sdk 中的 sal.h 定義不同
必需要用到原來 vs2008中的 sal.h ( Visual Studio 9.0\vc\include ) 才行
但是因為我們加了 additional include directory
所以 wdk 中的 sal.h 會被先用到....
而造成錯誤
解決方法就是修改 Visual Studio 9.0\vc\include\crtdefs.h
在crtdefs.h 中會
#include
把它改成
#include "sal.h"
就可解決。(目前完美的方式)
...簡單的東西搞出麻煩的過程
沒有留言:
張貼留言