ia64 / ntdllntoskrnl /

_OBJECT_TYPE_INITIALIZER

← 5.2.3790.3959 3 builds latest →
struct _OBJECT_TYPE_INITIALIZER {
unsigned short Length;/* 0x0 2 */
union {
unsigned char ObjectTypeFlags;/* 0x2 1 */
struct {
unsigned char CaseInsensitive : 1;/* 0x2:0 1 */
unsigned char UnnamedObjectsOnly : 1;/* 0x2:1 1 */
unsigned char UseDefaultObject : 1;/* 0x2:2 1 */
unsigned char SecurityRequired : 1;/* 0x2:3 1 */
unsigned char MaintainHandleCount : 1;/* 0x2:4 1 */
unsigned char MaintainTypeList : 1;/* 0x2:5 1 */
unsigned char SupportsObjectCallbacks : 1;/* 0x2:6 1 */
};/* 0x2 1 */
};/* 0x2 1 */
/* 1 byte padding */
unsigned long ObjectTypeCode;/* 0x4 4 */
unsigned long InvalidAttributes;/* 0x8 4 */
unsigned long ValidAccessMask;/* 0x1c 4 */
unsigned long RetainAccess;/* 0x20 4 */
unsigned long DefaultPagedPoolCharge;/* 0x28 4 */
unsigned long DefaultNonPagedPoolCharge;/* 0x2c 4 */
void (*DumpProcedure)(void*, struct _OBJECT_DUMP_CONTROL*);/* 0x30 8 */
long (*OpenProcedure)(enum _OB_OPEN_REASON, char, struct _EPROCESS*, void*, unsigned long*, unsigned long);/* 0x38 8 */
/* ── cacheline 1 boundary (64 bytes) ── */
void (*CloseProcedure)(struct _EPROCESS*, void*, unsigned long, unsigned __int64, unsigned __int64);/* 0x40 8 */
void (*DeleteProcedure)(void*);/* 0x48 8 */
long (*ParseProcedure)(void*, void*, struct _ACCESS_STATE*, char, unsigned long, struct _UNICODE_STRING*, struct _UNICODE_STRING*, void*, struct _SECURITY_QUALITY_OF_SERVICE*, void**);/* 0x50 8 */
long (*SecurityProcedure)(void*, enum _SECURITY_OPERATION_CODE, unsigned long*, void*, unsigned long*, void**, enum _POOL_TYPE, struct _GENERIC_MAPPING*, char);/* 0x58 8 */
long (*QueryNameProcedure)(void*, unsigned char, struct _OBJECT_NAME_INFORMATION*, unsigned long, unsigned long*, char);/* 0x60 8 */
unsigned char (*OkayToCloseProcedure)(struct _EPROCESS*, void*, void*, char);/* 0x68 8 */
};
size 112 (0x70)25 members1 hole (1 bytes)padding 02 cachelines
Used in (1)