2007年7月20日 星期五

How to load a driver into user mode

在CE6.0中一般driver default都是run在kernel mode
要如何將driver load 到 user mode?
其實很簡單
只需要設定platform.reg中Flags的value為 DEVFLAGS_LOAD_AS_USERPROC(0x10)
n

及platform.bib即可。

以上次建出來的Driver為範例。

platform.reg
//===============================
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Cin]
"Dll" = "CIN.dll"
"Prefix" ="CIN"
"Index"= dword:1
"Order"= dword:0
"FriendlyName" = "CIN Demo Driver"
"Ioctl" = dword:0
"Flags" = dword:10
; Flags==0x10 is DEVFLAGS_LOAD_AS_USERPROC

//===============================

platform.bib
//===============================
CIN.dll $(_FLATRELEASEDIR)\CIN.dll NK SH
//===============================


run 出來的結果


千萬要注意哦
bib檔的SHK要改成SH哦,沒改的話會出現錯誤。
run出來的結果

沒有留言: