系列文章目录
文章目录
OBJECT_HEADER
关于句柄的信息OBJECT_HEADER_HANDLE_INFO 数据结构:
关于耗用内存配额的信息。
这些附加信息是可选项,可以有也可以没有。
三个部分按特殊的方式连成一片。按地址由低到高,首先当然是OBJECT_HEADER,它的上方是具体对象类型的数据结构本身;然而附加信息不是在具体对象类型的数据结构上方,也不是在这二者之间,而是在OBJECT_HEADER的下面。我们来看OBJECT_HEADER的定义:
//
// Object Header
//
typedef struct _OBJECT_HEADER
{
LONG PointerCount;
union
{
LONG HandleCount;
volatile PVOID NextToFree;
};
POBJECT_TYPE Type;
UCHAR NameInfoOffset;
UCHAR HandleInfoOffset;
UCHAR QuotaInfoOffset;
UCHAR Flags;
union
{
POBJECT_CREATE_INFORMATION ObjectCreateInfo;
PVOID QuotaBlockCharged;
};
PSECURITY_DESCRIPTOR SecurityDescriptor;
QUAD Body;
} OBJECT_HEADER, *POBJECT_HEADER;