%cd% : current dir
%ProgramFiles%
%ProgramFiles(x86)%
Wednesday, October 28, 2015
view and set env var in bat
echo %ProgramFiles%
set ProgFiles=%ProgramFiles%
if exist "%ProgramFiles(x86)%" set ProgFiles=%ProgramFiles(x86)%
set ProgFiles=%ProgramFiles%
if exist "%ProgramFiles(x86)%" set ProgFiles=%ProgramFiles(x86)%
Sources文件
环境变量 $BASEDIR: DDK安装路径,如D:\ProgramFiles\WinDDK7600.16385.0 $_NTDRIVE !!DDK安装路径的驱动器目录,如D:\ProgramFiles\WinDDK7600.16385.0,则$NTDRIVE=D: $_NTROOT $BASEDIR-$NTDRIVE,如$BASEDIR=D:\ProgramFiles\WinDDK7600.16385.0,则\ProgramFiles\WinDDK7600.16385.0
例1: TARGETNAME=HelloDDK TARGETTYPE=DRIVER TARGETPATH=d:\t //生成的sys文件放在TARGETPATH下
INCLUDES=$(BASEDIR)\inc;\ $(BASEDIR)\inc\ddk;\
SOURCES=Driver.cpp\
例2: TARGETNAME=HelloWDM TARGETTYPE=DRIVER DRIVERTYPE=WDM TARGETPATH=d:\t
INCLUDES=$(BASEDIR)\inc;\ $(BASEDIR)\inc\ddk;\
SOURCES=HelloWDM.cpp\
Tuesday, October 27, 2015
吐槽大温2015新交规
2015新交规应该是异常严厉了,照这个罚法我裤衩都穿不起了 以下列几条猛的,平时总犯。
0 改住址超过10天通知DMV(Driver Licensing Office): CA$214 1 在双闪的校车后面不停要罚: CA$675 2 右转弯红灯不停: CA$533 3 非法U形转(U-Turn):CA$284 4. 超速:低于16迈(CA$224), 高于16迈(CA$338) 5. 开慢了: CA$328 6. 停牌越线:CA$284 7. 占公交站:CA$976 8. 开汽车大灯不关:CA$382 ...
Sunday, October 25, 2015
NT式驱动和WDM
设备管理器中打开显示隐藏设备开关,就能在非即插即用中列出所有NT式驱程,显示的名称并非设备名称,也非设备的符号链接名称,而是CreateService函数中的参数lpServName。
AddDevice是WDM独有的,由PNP函数回调;而NT式驱动只能在DrvEntry调用IoCreateDev(即驱动加载以后设备也创建好了)
句柄之于Windows
内核对象都有安全属性,所有CreateXXX(lpSecurityAttr)函数都不会直接返回指针给用户,这就是句柄存在的意义。进程内的句柄值是唯一的,所以CloseHandle(hid)会准确地关闭相应的内核对象。内核对象都对应一个数据结构(比如KEVENT),通过句柄可以获得对象的指针(比如PKEVENT),方法是使用ObReferenceObByHandle(当然也可以通过内核对象的名称获取对象指针)。
Thursday, October 22, 2015
系统线程
系统线程隶属于系统进程(例如进程号为0的SystmIdleProc,csrss.exe,System等等),使用PsCreateSystemThread可以创建系统线程(这个函数也可以创建系统进程).
Subscribe to:
Posts (Atom)