阅读:974回复:1
为什么我无法打开驱动程序
我已经确信驱动程序已经被系统加载到了内存,下面的代码执行的结果就是
显示ERROR。 是因为带波浪线的地方的问题,还是Guid不匹配的原因? #define HELLO_CLASS_GUID \\ {0xff646f80,0x8def,0x11d2,{0x94,0x49,0x0,0x10,0x5a,0x07,0x5f,0x6d}} GUID HelloClassGuid = HELLO_CLASS_GUID; ...... hHello = OpenByInterface( &HelloClassGuid,0,&Error); if (hHello == INVALID_HANDLE_VALUE) { printf(\"ERROR opening device: (%0x) returned from CreateFile\\n\", GetLastError()); exit(1); } ...... inf中的信息 Class=NewDeviceClass ClassGUID={ff646f80-8def-11d2-9449-00105a075f6b} ...... [Hellowdm_AddService] DisplayName = %SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\\System32\\Drivers\\Hellowdm.sys |
|
沙发#
发布于:2005-03-09 09:38
OpenByInterface用的是驱动用IoRegisterDeviceInterface注册的Interface名,不是GUID
|
|
|