阅读:796回复:1
请大家帮忙看看这两个问题
我有一段程序,碰到一点问题:
schService = CreateService( SchSCManager, DriverName, DriverName, SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, BinaryPath, NULL, NULL, NULL, NULL, NULL ); i = GetLastError(); if ( schService == NULL ) { schService = OpenService(SchSCManager, DriverName, SERVICE_ALL_ACCESS); …… StartService( schService, 0, NULL ); SchSCManager肯定分配好了, 但是openservice 后的getlasterror的返回为ERROR_IO_PENDING, 那么,这种情况到底是对还是应该就这样? 我的drivername为自己编的一个.sys. 上段程序的目的是为了要install driver. 第二: driverHandle = CreateFile( DosDevice, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, attributes, NULL ); 的返回为getlasterror为ERROR_INVALID_FUNCTION,启动服务不成功。 其中的DosDevice就是我的上面的drivername。 请问:这种情况一般是什么问题。会不会是.sys的问题,还是 注册表中没有配置好,还是这段程序本身的问题。 多谢大家赐教。 |
|
沙发#
发布于:2003-05-20 17:16
为什么不用guid?
|
|
|