C# 调用sys驱动整理的一些坑
OpenSCManager
CreateService
OpenService
StartService
上面几个API用于加载驱动,网上一大堆教程不再描述~
加载后。直接CreateFile 创建设备我在VS里面 建议直接用CreateFile不要去纠结用CreateFileA还是CreateFileW,因为我试过了。编码不一样的,具体可百度了解。CreateFile会根据你的编码自行选择CreateFileA还是CreateFileW。
hDriver = WinAPI.CreateFile(names, DESIREDACCESS.GENERIC_READ | DESIREDACCESS.GENERIC_WRITE,
0,
0,
CREATIONDISPOSITION.OPEN_EXISTING,
FLAGSANDATTRIBUTES.FILE_ATTRIBUTE_NORMAL,
0);
需要注意的是第3个参数和第7个参数。第三个参数xp系统里面 直接用0,后面的系统好像是要改成共享读写的。第七个参数选择的默认,一般来说 选默认就行了,网上很多教程用的选择的 叠加(可能是系统原因。我也没怎么研究)。
这个也没什么说的,
最后重点来了:
WinAPI.DeviceIoControl(hDriver, IOCTL_GET_PROCESS_INFO, inpProcInfo, 10u, ref outpProcInfo, 10u, ref dwRet2, IntPtr.Zero)