3.2 页面异常-2

系列文章目录

文章目录


IoPageRead()

c 复制代码
/*
 * @implemented
 */
NTSTATUS
NTAPI
IoPageRead(IN PFILE_OBJECT FileObject,
           IN PMDL Mdl,
           IN PLARGE_INTEGER Offset,
           IN PKEVENT Event,
           IN PIO_STATUS_BLOCK StatusBlock)
{
    PIRP Irp;
    PIO_STACK_LOCATION StackPtr;
    PDEVICE_OBJECT DeviceObject;
    IOTRACE(IO_API_DEBUG, "FileObject: %p. Mdl: %p. Offset: %p \n",
            FileObject, Mdl, Offset);

    /* Get the Device Object */
    DeviceObject = IoGetRelatedDeviceObject(FileObject);

    /* Allocate IRP */
    Irp = IoAllocateIrp(DeviceObject->StackSize, FALSE);
    if (!Irp) return STATUS_INSUFFICIENT_RESOURCES;

    /* Get the Stack */
    StackPtr = IoGetNextIrpStackLocation(Irp);

    /* Create the IRP Settings */
    Irp->MdlAddress = Mdl;
    Irp->UserBuffer = MmGetMdlVirtualAddress(Mdl);
    Irp->UserIosb = StatusBlock;
    Irp->UserEvent = Event;
    Irp->RequestorMode = KernelMode;
    Irp->Flags = IRP_PAGING_IO |
                 IRP_NOCACHE |
                 IRP_SYNCHRONOUS_PAGING_IO |
                 IRP_INPUT_OPERATION;
    Irp->Tail.Overlay.OriginalFileObject = FileObject;
    Irp->Tail.Overlay.Thread = PsGetCurrentThread();

    /* Set the Stack Settings */
    StackPtr->Parameters.Read.Length = MmGetMdlByteCount(Mdl);
    StackPtr->Parameters.Read.ByteOffset = *Offset;
    StackPtr->MajorFunction = IRP_MJ_READ;
    StackPtr->FileObject = FileObject;

    /* Call the Driver */
    return IofCallDriver(DeviceObject, Irp);
}


 
相关推荐
MATLAB代码顾问7 小时前
改进鲸鱼优化算法(IWOA)求解柔性作业车间调度问题(FJSP)——附MATLAB代码
开发语言·算法·matlab
阿维的博客日记7 小时前
介绍一下Redisson的看门狗机制
java·redis·缓存
空中海7 小时前
02. 静态逆向、Manifest 分析与 Smali 重打包
服务器·网络·windows
Rkgua7 小时前
ESModule和Commonjs模块的区别
前端·javascript
江南十四行7 小时前
ReAct Agent 基本理论与项目实战(二)
前端·react.js·前端框架
大G的笔记本7 小时前
为什么接口中的变量默认是 public static final(常量)
java
用户600071819107 小时前
【翻译】React 如何乱序流式输出 UI,却仍保持最终顺序
前端
java1234_小锋7 小时前
Spring AI 2.0 开发Java Agent智能体 - stream()方法Flux流式响应输出
java·人工智能·spring
dvjr cloi7 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos
量子-Alex7 小时前
【大模型】EvoLM论文LLM训练各个阶段效果
人工智能·算法·机器学习