驱动主要数据结构
来源:互联网 发布:招生管理系统sql论文 编辑:程序博客网 时间:2024/05/16 09:51
驱动对象 Driver_Object
CSHORT Type;
CSHORT Size;
ULONG Flags;
ULONG DriverSize;
PVOID DriverSection;
PDRIVER_EXTENSION DriverExtension;
PDRIVER_STARTIO DriverStartIo;//记录StartIO例程的函数地址
PDRIVER_UNLOAD DriverUnload;//指定驱动卸载时所用的回调函数地址
PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];//函数指针数组,每个成员都是一个处理IRP请求的派遣函数
typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT; // ntndis
typedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) _DEVICE_OBJECT
{
CSHORT Type;
USHORT Size;
LONG ReferenceCount;
struct _DRIVER_OBJECT *DriverObject; /*指向驱动程序中驱动对象的指针*/
struct _DEVICE_OBJECT *NextDevice;/*指向下一个设备对象的指针*/
struct _DEVICE_OBJECT *AttachedDevice;/当前驱动有更高一层驱动附加的话,指向高层驱动
struct _IRP *CurrentIrp;/*当前IRP结构*/
PIO_TIMER Timer;
ULONG Flags; /*设备对象的特性标志*/
ULONG Characteristics;
_volatile PVPB Vpb;
PVOID DeviceExtension; /*指向设备扩展对象的指针*/
DEVICE_TYPE DeviceType; /*指明设备类型*/
CCHAR StackSize; /*多层驱动下,堆栈的最小层数*/
union {
LIST_ENTRY ListEntry;
WAIT_CONTEXT_BLOCK Wcb;
} Queue;
ULONG AlignmentRequirement; /*内存对齐*/
KDEVICE_QUEUE DeviceQueue;
KDPC Dpc;
/*
*下列成员用于支持文件系统的互斥操作
*以便对文件系统处理线程使用设备的计数保持跟踪
*/
ULONG ActiveThreadCount;
PSECURITY_DESCRIPTOR SecurityDescriptor;
KEVENT DeviceLock;
USHORT SectorSize;
USHORT Spare1;
struct _DEVOBJ_EXTENSION *DeviceObjectExtension;
PVOID Reserved;
} DEVICE_OBJECT;
typedef struct _DEVICE_OBJECT *PDEVICE_OBJECT;
结构图
- 内核驱动主要数据结构
- 内核驱动主要数据结构
- 内核驱动主要数据结构
- 内核驱动主要数据结构
- 设备驱动主要数据结构
- 内核驱动主要数据结构
- 驱动主要数据结构
- 内核驱动主要数据结构收藏
- 数据结构主要参考书
- 数据结构主要知识点
- xml主要数据结构
- 数据结构主要参考书
- ffmpeg 几个主要数据结构
- libevent主要数据结构
- 数据结构的主要概念
- xml主要数据结构
- 驱动数据结构
- camera 驱动主要函数功能
- javaScript月份从零算起
- JSF “from-action” navigation rule example
- HorizontalScrollView 的使用
- 20150827_tomcat架构_Server.xml详解
- iOS部分-UI基础控件 - 01天 入门 第05课 关闭键盘
- 驱动主要数据结构
- iOS部分-UI基础控件 - 01天 入门 第06课 gif的简单实用
- R语言-找出向量或矩阵中的最大10个数
- 欢迎使用CSDN-markdown编辑器
- PWM输入模式捕捉4路PWM波形的周期和占空比讲解
- iOS部分-UI基础控件 - 01天 入门 第07课 私有扩展&IBAction
- 表单提交:button input submit 的区别
- JSF : Page Forward vs Page Redirect
- VS2010下多线程的调试