Windows驱动开发-Device结构体
Posted a-s-m
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows驱动开发-Device结构体相关的知识,希望对你有一定的参考价值。
每个驱动程序会创建一个或多个设备对象,每个设备对象都会有一个指针指向下一个设备对象
Device结构体源码
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; PIO_TIMER Timer; ULONG Flags; // See above: DO_... ULONG Characteristics; // See ntioapi: FILE_... __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;
字段说明:
struct _DRIVER_OBJECT *DriverObject;
指向驱动程序中的驱动对象,同属于一个驱动对象的设备对象指向的是同一个驱动对象。
以上是关于Windows驱动开发-Device结构体的主要内容,如果未能解决你的问题,请参考以下文章