zoukankan      html  css  js  c++  java
  • 《Windows内核安全与驱动开发》 2.3 重要的数据结构

    《Windows内核安全与驱动开发》阅读笔记 -- 索引目录

    《Windows内核安全与驱动开发》 2.3 重要的数据结构

    一、驱动对象

    1.  Windows内核采用__的编程方式。Windows内核认为许多东西都是__,比如一个驱动、一个设备、一个文件,甚至其他的一些东西。
    2. 与应用程序开发不同,Windows内核模块并不生成一个进程,只是填写一组__函数让Windows来调用,而这组__必须符合Windows内核规定。
    3. Windows中很多组件都拥有自己的__,比如:所有的硬件驱动程序,所有的类驱动(Disk、Cdrom···)、文件系统,以及许多其他的内核组件。

    二、设备对象

    1. Windows应用程序开发都知道,__是唯一可以接收消息的东西。
    2. 在内核世界中,大部分“消息”都是以__的方式传递,__是唯一可以接收消息的实体,任何一个消息都发送给某个__。
    3. 一个__对象总是属于一个__对象(驱动/设备)。
    4. __对象生成多个__对象(驱动/设备),而Windows向__对象发送请求,这些请求如何处理呢?实际上,这些请求被__对象的__所捕获。
    5. 当Windows内核向一个__发送一个请求时,__对象的__中的某一个会被调用。【NTSTATUS MyDispatch(PDEVICE_OBJECT device,PIRP irp);】

    三、请求

    1. 文件写入等操作最终在内核中都会被__翻译成为__发送到某个__对象。
    2. 大多数请求以__的形式发送。
    3. 何为IRP栈空间,一个IRP往往传递到n个__才得以完成,为了保留每个阶段的__变化,我们给每次"中转"都留一个__,用来__。

    答案:

    一、驱动对象

    1. 面向对象 对象
    2. 回调函数 回调函数
    3. 驱动对象

    二、设备对象

    1. 窗口
    2. 请求(IRP)  设备对象 
    3. 设备 驱动
    4. 驱动 设备 驱动 分发函数
    5. 设备 驱动对象 分发函数

    三、请求

    1. IO管理器  请求(IRP) 设备
    2. IRP
    3. 设备 参数 栈空间 保存中间参数
  • 相关阅读:
    防抖和节流
    关于keep-alive的学习
    elementUI上传图片前判断图片的尺寸大小
    vue 判断线上环境还是本地环境
    elementUi table表格的拖拽功能
    获取文件的md5值
    element ui上传腾讯云,更新视频时长
    js音视频文件的时长
    手写一个移动端带惯性的轮播图vue组件
    这个用来总结一些常用的工具函数
  • 原文地址:https://www.cnblogs.com/onetrainee/p/11993499.html
Copyright © 2011-2022 走看看