缓冲区方式与IRP的关系如下: 在驱动层,依传输类型的不同,输入缓冲区的位置亦不同,见下表。 传输类型 位置 METHOD_IN_DIRECT irp->AssociatedIrp.SystemBuffer METHOD_OUT_DIRECT irp->AssociatedIrp.SystemBuffer METHOD_BUFFERED irp->AssociatedIrp.SystemBuffer METHOD_NEITHER irpStack->Parameters.DeviceIoControl.Type3InputBuffer 在驱动层,依传输类型的不同,输出缓冲区的位置亦不同,见下表。 传输类型 位置 METHOD_IN_DIRECT irp->MdlAddress METHOD_OUT_DIRECT irp->MdlAddress METHOD_BUFFERED irp->AssociatedIrp.SystemBuffer METHOD_NEITHER irp->UserBuffer