我也刚入门..
用这个 IoAllocateMdl(
IN PVOID VirtualAddress,
IN ULONG Length,
IN BOOLEAN SecondaryBuffer,
IN BOOLEAN ChargeQuota,
IN OUT PIRP Irp OPTIONAL
);应该可以,
但可能要确保用户进程空间VirtualAddress~VirtualAddress+Length是没用过的,而且是可读可写属性.驱动对通过创建的这个mdl来完成用户空间到内核空间的映射,那驱动读写这部分地址时中断级别可能<DISPATCH level