DISPATCHER_HEADER结构体详解
时间: 2024-06-02 10:04:44 浏览: 295
DISPATCHER_HEADER结构体是Windows内核中的一个结构体,它定义了内核中所有对象的通用头部。它是一个抽象基类,不能直接实例化。其定义如下:
```
typedef struct _DISPATCHER_HEADER {
union {
struct {
UCHAR Type;
union {
UCHAR TimerControlFlags;
struct {
UCHAR Absolute : 1;
UCHAR Coalescable : 1;
UCHAR KeepShifting : 1;
UCHAR EncodedTolerableDelay : 5;
};
};
UCHAR Size;
union {
UCHAR Inserted : 1;
UCHAR DebugActive : 1;
UCHAR DpcActive : 1;
UCHAR Locked : 1;
UCHAR AllProcessors : 1;
UCHAR DpcScheduled : 1;
UCHAR ProcessReadyQueue : 1;
UCHAR WaitNext : 1;
};
};
volatile LONG Lock;
};
LONG SignalState;
LIST_ENTRY WaitListHead;
} DISPATCHER_HEADER, *PDISPATCHER_HEADER, KDISPATCHER_HEADER, *PKDISPATCHER_HEADER;
```
其中,Type字段指定了对象的类型,如Timer、Event、Mutex等;Size字段指定了对象的大小;SignalState字段用于保存对象的状态信息;WaitListHead字段用于维护等待该对象的线程链表。
阅读全文