ElT*_*hor 6 windows kernel driver windows-kernel
我正在编写一个 Windows 内核驱动程序,并尝试实现以下内容。
假设已通过DeviceIoControl函数使用特定的 IOCTL 代码从用户模式调用驱动程序。在这种情况下,驱动程序如何自行卸载?换句话说,如何实现与运行net stop命令相同的行为?
更准确地说,在实现DispatchDeviceControl 回调时我应该写什么
NTSTATUS IoctlDeviceControl(PDEVICE_OBJECT pDeviceObject, PIRP pIrp) {
// some code...
switch (ioctlCode) {
case IOCTL_MY_UNLOAD: <---
...
}
return Status;
}
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以使用ZwUnloadDriver内核函数!
文档:
ZwUnloadDriver 例程从系统中卸载驱动程序。使用此例程时要格外小心。(请参阅以下备注部分。)
C/C++ 定义:
NTSTATUS ZwUnloadDriver(
_In_ PUNICODE_STRING DriverServiceName
);
Run Code Online (Sandbox Code Playgroud)
MSDN 来源:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff567117(v=vs.85).aspx
| 归档时间: |
|
| 查看次数: |
4308 次 |
| 最近记录: |