Winapi 无法使用ServiceManager停止/卸载非PnP驱动程序
我根据此处找到的Microsoft示例驱动程序制作了一个简单的非PnP驱动程序: 我想我做的每件事都是对的。MyWinapi 无法使用ServiceManager停止/卸载非PnP驱动程序,winapi,driver,kmdf,Winapi,Driver,Kmdf,我根据此处找到的Microsoft示例驱动程序制作了一个简单的非PnP驱动程序: 我想我做的每件事都是对的。MyDriverEntry()包含: WDF_DRIVER_CONFIG_INIT(&Config, WDF_NO_EVENT_CALLBACK); Config.DriverInitFlags |= WdfDriverInitNonPnpDriver; Config.EvtDriverUnload = DriverUnload; status = WdfDriverCrea
DriverEntry()
包含:
WDF_DRIVER_CONFIG_INIT(&Config, WDF_NO_EVENT_CALLBACK);
Config.DriverInitFlags |= WdfDriverInitNonPnpDriver;
Config.EvtDriverUnload = DriverUnload;
status = WdfDriverCreate(DriverObject, RegistryPath, &Attributes, &Config, &DriverHandle);
if (!NT_SUCCESS(status)) {
return status;
}
pInit = WdfControlDeviceInitAllocate(DriverHandle, &SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_RW_RES_R);
if (pInit == NULL) {
status = STATUS_INSUFFICIENT_RESOURCES;
return status;
}
return status;
我还在DriverEntry()
中创建了该设备(因为它不是PnP),但即使不创建该设备,问题仍然存在
我使用ServiceManager安装/启动/停止/卸载驱动程序
安装和启动工作正常。但是当我尝试使用服务控制停止来停止驱动程序时,控制服务返回错误\u无效的服务控制。为了卸载驱动程序,我需要重新启动机器
是否有我遗漏的东西会阻止司机停车 如果我记得的话,inf中有一个部分使驱动程序不可加载correctly@MichaelChourdakis嗯。我没有使用INF。我在创建服务时直接指向.sys文件。@MichaelChourdakis-否,are驱动程序可以从INF文件中卸载,而不依赖于INF文件。inf仅在安装阶段使用,不再使用