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. 设备 参数 栈空间 保存中间参数
  • 相关阅读:
    实验7 BindService模拟通信
    实验6 在应用程序中播放音频和视频
    实验五-数独游戏界面设计
    期中测试-计时器界面设计
    实验4 颜色、字符串资源的使用
    实验三、动态优先数实验
    实验二 作业调度模拟程序
    实验一 命令解释程序的编写
    实验八:SQLite数据库操作
    在应用程序中播放音频和视频
  • 原文地址:https://www.cnblogs.com/onetrainee/p/11993499.html
Copyright © 2011-2022 走看看