#include <ntddk.h>
// 卸载函数
VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject);
// 派遣函数-常规
NTSTATUS DispatchRoutine(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
// 派遣函数-读操作
NTSTATUS DispatchRead(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
// 取消函数-读操作
VOID OnCancelRead(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
// StartIO函数-读操作
VOID StartIORead(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp);
// 入口函数
NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath)
{
NTSTATUS status = STATUS_SUCCESS;
UNICODE_STRING DevName = {
0 };
UNICODE_STRING DevSymbolicLinkName = {
0 };
PDEVICE_OBJECT pDevObj = NULL;
SIZE_T sub = 0;
KdPrint(("驱动加载函数\n"));
UNREFERENCED_PARAMETER(pRegistryPath);
RtlInitUnicodeString(
IRP取消及StartIO操作
最新推荐文章于 2024-01-18 12:28:42 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)