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; /*当前IRP结构*/ struct _IRP *CurrentIrp; 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;
时间: 2024-10-12 02:30:50