ia64 / ntdllntoskrnl /

_HHIVE

← 5.2.3790.3959 3 builds latest →
struct _HHIVE {
unsigned long Signature;/* 0x0 4 */
/* 4 bytes padding */
struct _CELL_DATA* (*GetCellRoutine)(struct _HHIVE*, unsigned long);/* 0x8 8 */
void (*ReleaseCellRoutine)(struct _HHIVE*, unsigned long);/* 0x10 8 */
void* (*Allocate)(unsigned long, unsigned char, unsigned long);/* 0x18 8 */
void (*Free)(void*, unsigned long);/* 0x20 8 */
unsigned char (*FileSetSize)(struct _HHIVE*, unsigned long, unsigned long, unsigned long);/* 0x28 8 */
unsigned char (*FileWrite)(struct _HHIVE*, unsigned long, struct CMP_OFFSET_ARRAY*, unsigned long, unsigned long*);/* 0x30 8 */
unsigned char (*FileRead)(struct _HHIVE*, unsigned long, unsigned long*, void*, unsigned long);/* 0x38 8 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned char (*FileFlush)(struct _HHIVE*, unsigned long, union _LARGE_INTEGER*, unsigned long);/* 0x40 8 */
unsigned long DirtyCount;/* 0x60 4 */
unsigned long DirtyAlloc;/* 0x64 4 */
unsigned long BaseBlockAlloc;/* 0x68 4 */
unsigned long Cluster;/* 0x6c 4 */
unsigned char Flat;/* 0x70 1 */
unsigned char ReadOnly;/* 0x71 1 */
unsigned char DirtyFlag;/* 0x72 1 */
/* 1 byte padding */
unsigned long HvBinHeadersUse;/* 0x74 4 */
unsigned long HvFreeCellsUse;/* 0x78 4 */
unsigned long HvUsedCellsUse;/* 0x7c 4 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned long CmUsedCellsUse;/* 0x80 4 */
unsigned long HiveFlags;/* 0x84 4 */
unsigned long CurrentLog;/* 0x88 4 */
unsigned long LogSize[2];/* 0x8c 8 */
unsigned long RefreshCount;/* 0x94 4 */
unsigned long StorageTypeCount;/* 0x98 4 */
unsigned long Version;/* 0x9c 4 */
};
size 1424 (0x590)29 members2 holes (5 bytes)padding 023 cachelines
Used in (4)