x64x86arm64ia64 / ntdllntoskrnl

_OBJECT_TYPE_INITIALIZER

← 10.0.28000.3231 22 builds latest →
struct _OBJECT_TYPE_INITIALIZER {
unsigned short Length;/* 0x0 2 */
union {
unsigned short ObjectTypeFlags;/* 0x2 2 */
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 */
unsigned char CacheAligned : 1;/* 0x2:7 1 */
unsigned char UseExtendedParameters : 1;/* 0x3:0 1 */
unsigned char SeTrustConstraintMaskPresent : 1;/* 0x3:1 1 */
unsigned char CloseReturnsResults : 1;/* 0x3:2 1 */
unsigned char UseRcuFree : 1;/* 0x3:3 1 */
unsigned char Reserved : 4;/* 0x3:4 1 */
};/* 0x2 2 */
};/* 0x2 2 */
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) ── */
union {
void (*CloseProcedure)(struct _EPROCESS*, void*, unsigned __int64, unsigned __int64);/* 0x40 8 */
void (*CloseProcedure2)(struct _EPROCESS*, void*, unsigned __int64, unsigned __int64, struct _OBJECT_CLOSE_RESULT*);/* 0x40 8 */
};/* 0x40 8 */
void (*DeleteProcedure)(void*);/* 0x48 8 */
union {
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 (*ParseProcedureEx)(void*, void*, struct _ACCESS_STATE*, char, unsigned long, struct _UNICODE_STRING*, struct _UNICODE_STRING*, void*, struct _SECURITY_QUALITY_OF_SERVICE*, struct _OB_EXTENDED_PARSE_PARAMETERS*, void**);/* 0x50 8 */
};/* 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 */
unsigned long WaitObjectFlagMask;/* 0x70 4 */
unsigned short WaitObjectFlagOffset;/* 0x74 2 */
unsigned short WaitObjectPointerOffset;/* 0x76 2 */
};
size 120 (0x78)36 members0 holespadding 02 cachelines
Used in (1)