x64x86arm64ia64 / ntdllntoskrnl

_HHIVE

← 10.0.18362.1016 20 builds latest →
struct _HHIVE {
unsigned long Signature;/* 0x0 4 */
struct _CELL_DATA* (*GetCellRoutine)(struct _HHIVE*, unsigned long, struct _HV_GET_CELL_CONTEXT*);/* 0x4 4 */
void (*ReleaseCellRoutine)(struct _HHIVE*, struct _HV_GET_CELL_CONTEXT*);/* 0x8 4 */
void* (*Allocate)(unsigned long, unsigned char, unsigned long);/* 0xc 4 */
void (*Free)(void*, unsigned long);/* 0x10 4 */
long (*FileWrite)(struct _HHIVE*, unsigned long, struct CMP_OFFSET_ARRAY*, unsigned long, unsigned long);/* 0x14 4 */
long (*FileRead)(struct _HHIVE*, unsigned long, unsigned long, void*, unsigned long);/* 0x18 4 */
void* HiveLoadFailure;/* 0x1c 4 */
unsigned long DirtyCount;/* 0x34 4 */
unsigned long DirtyAlloc;/* 0x38 4 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long UnreconciledCount;/* 0x44 4 */
unsigned long BaseBlockAlloc;/* 0x48 4 */
unsigned long Cluster;/* 0x4c 4 */
unsigned char Flat : 1;/* 0x50:0 1 */
unsigned char ReadOnly : 1;/* 0x50:1 1 */
unsigned char Reserved : 6;/* 0x50:2 1 */
unsigned char DirtyFlag;/* 0x51 1 */
/* 2 bytes padding */
unsigned long HvBinHeadersUse;/* 0x54 4 */
unsigned long HvFreeCellsUse;/* 0x58 4 */
unsigned long HvUsedCellsUse;/* 0x5c 4 */
unsigned long CmUsedCellsUse;/* 0x60 4 */
unsigned long HiveFlags;/* 0x64 4 */
unsigned long CurrentLog;/* 0x68 4 */
unsigned long CurrentLogSequence;/* 0x6c 4 */
unsigned long CurrentLogMinimumSequence;/* 0x70 4 */
unsigned long CurrentLogOffset;/* 0x74 4 */
unsigned long MinimumLogSequence;/* 0x78 4 */
unsigned long LogFileSizeCap;/* 0x7c 4 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned char LogDataPresent[2];/* 0x80 2 */
unsigned char PrimaryFileValid;/* 0x82 1 */
unsigned char BaseBlockDirty;/* 0x83 1 */
/* 4 bytes padding */
union {
struct {
unsigned short FirstLogFile : 3;/* 0x90:0 2 */
unsigned short SecondLogFile : 3;/* 0x90:3 2 */
unsigned short HeaderRecovered : 1;/* 0x90:6 2 */
unsigned short LegacyRecoveryIndicated : 1;/* 0x90:7 2 */
unsigned short RecoveryInformationReserved : 8;/* 0x90:8 2 */
};/* 0x90 2 */
unsigned short RecoveryInformation;/* 0x90 2 */
};/* 0x90 2 */
unsigned char LogEntriesRecovered[2];/* 0x92 2 */
unsigned long RefreshCount;/* 0x94 4 */
unsigned long StorageTypeCount;/* 0x98 4 */
unsigned long Version;/* 0x9c 4 */
/* ── cacheline 3 boundary (192 bytes) ── */
};
size 1024 (0x400)49 members2 holes (6 bytes)padding 016 cachelines
Used in (6)