test: hivedata.h File Reference

Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

# hivedata.h File Reference

Go to the source code of this file.

## Classes

struct | _HCELL
struct | _HBIN
struct | _HBASE_BLOCK
struct | _HMAP_ENTRY
struct | _HMAP_TABLE
struct | _HMAP_DIRECTORY
struct | CMP_OFFSET_ARRAY
struct | _FREE_HBIN
struct | _HHIVE
struct | _HHIVE::_DUAL

## Defines

#define | HSANE_CELL_MAX (1024*1024)
#define | HBIN_THRESHOLD (HBLOCK_SIZE-512)
#define | HLOG_GROW HBLOCK_SIZE
#define | HCELL_BIG_ROUND (HBLOCK_SIZE*3)
#define | HLOG_MINSIZE(Hive) ((Hive)->Cluster * HSECTOR_SIZE * 2)
#define | HTYPE_COUNT 2
#define | HCELL_NIL ((HCELL_INDEX)(-1))
#define | HCELL_TYPE_MASK 0x80000000
#define | HCELL_TYPE_SHIFT 31
#define | HCELL_TABLE_MASK 0x7fe00000
#define | HCELL_TABLE_SHIFT 21
#define | HCELL_BLOCK_MASK 0x001ff000
#define | HCELL_BLOCK_SHIFT 12
#define | HCELL_OFFSET_MASK 0x00000fff
#define | HBLOCK_SIZE 0x1000
#define | HSECTOR_SIZE 0x200
#define | HSECTOR_COUNT 8
#define | HTABLE_SLOTS 512
#define | HDIRECTORY_SLOTS 1024
#define | HvGetCellType(Cell) ((ULONG)((Cell & HCELL_TYPE_MASK) >> HCELL_TYPE_SHIFT))
#define | HCELL_PAD(Hive) ((Hive->Version>=2) ? 8 : 16)
#define | HCELL_ALLOCATE_FILL 0xb2
#define | HCELL_FREE_FILL 0xfc
#define | USE_OLD_CELL(Hive) (Hive->Version==1)
#define | HBIN_SIGNATURE 0x6e696268
#define | HBIN_NIL (-1)
#define | HBASE_BLOCK_SIGNATURE 0x66676572
#define | HSYS_MAJOR 1
#define | HSYS_MINOR 3
#define | HBASE_FORMAT_MEMORY 1
#define | HBASE_NAME_ALLOC 64
#define | HLOG_HEADER_SIZE (FIELD_OFFSET(HBASE_BLOCK, Reserved2))
#define | HLOG_DV_SIGNATURE 0x54524944
#define | HMAP_FLAGS (3)
#define | HMAP_BASE (~3)
#define | HMAP_NEWALLOC 1
#define | HMAP_DISCARDABLE 2
#define | HHIVE_SIGNATURE 0xBEE0BEE0
#define | HFILE_TYPE_PRIMARY 0
#define | HFILE_TYPE_ALTERNATE 1
#define | HFILE_TYPE_LOG 2
#define | HFILE_TYPE_EXTERNAL 3
#define | HFILE_TYPE_MAX 4
#define | HHIVE_LINEAR_INDEX 16
#define | HHIVE_EXPONENTIAL_INDEX 23
#define | HHIVE_FREE_DISPLAY_SIZE 24
#define | HHIVE_FREE_DISPLAY_SHIFT 3
#define | HHIVE_FREE_DISPLAY_BIAS 7
#define | FREE_HBIN_DISCARDABLE 1

## Typedefs

typedef ULONG | HCELL_INDEX
typedef HCELL_INDEX * | PHCELL_INDEX
typedef _HCELL | HCELL
typedef _HCELL * | PHCELL
typedef _HBIN | HBIN
typedef _HBIN * | PHBIN
typedef _HBASE_BLOCK | HBASE_BLOCK
typedef _HBASE_BLOCK * | PHBASE_BLOCK
typedef _HMAP_ENTRY | HMAP_ENTRY
typedef _HMAP_ENTRY * | PHMAP_ENTRY
typedef _HMAP_TABLE | HMAP_TABLE
typedef _HMAP_TABLE * | PHMAP_TABLE
typedef _HMAP_DIRECTORY | HMAP_DIRECTORY
typedef _HMAP_DIRECTORY * | PHMAP_DIRECTORY
typedef PVOID(* | PALLOCATE_ROUTINE )(ULONG Length, BOOLEAN UseForIo)
typedef VOID(* | PFREE_ROUTINE )(PVOID MemoryBlock, ULONG GlobalQuotaSize)
typedef BOOLEAN(* | PFILE_SET_SIZE_ROUTINE )(struct _HHIVE *Hive, ULONG FileType, ULONG FileSize)
typedef * | PCMP_OFFSET_ARRAY
typedef BOOLEAN(* | PFILE_WRITE_ROUTINE )(struct _HHIVE *Hive, ULONG FileType, PCMP_OFFSET_ARRAY offsetArray, ULONG offsetArrayCount, PULONG FileOffset)
typedef BOOLEAN(* | PFILE_READ_ROUTINE )(struct _HHIVE *Hive, ULONG FileType, PULONG FileOffset, PVOID DataBuffer, ULONG DataLength)
typedef BOOLEAN(* | PFILE_FLUSH_ROUTINE )(struct _HHIVE *Hive, ULONG FileType)
typedef _CELL_DATA *(* | PGET_CELL_ROUTINE )(struct _HHIVE *Hive, HCELL_INDEX Cell)
typedef _FREE_HBIN | FREE_HBIN
typedef _FREE_HBIN * | PFREE_HBIN
typedef _HHIVE | HHIVE
typedef _HHIVE * | PHHIVE

## Enumerations

enum | HSTORAGE_TYPE { Stable = 0, Volatile = 1 }

## Define Documentation

#define FREE_HBIN_DISCARDABLE 1

| Definition at line 583 of file hivedata.h. Referenced by HvFreeHive(), HvFreeHivePartial(), HvpAddBin(), HvpCoalesceDiscardedBins(), HvpDiscardBins(), and HvRefreshHive().

#define HBASE_BLOCK_SIGNATURE 0x66676572

| Definition at line 323 of file hivedata.h. Referenced by DoDump(), HvInitializeHive(), HvpDoWriteHive(), HvpGetHiveHeader(), HvpGetLogHeader(), and HvpWriteLog().

#define HBASE_FORMAT_MEMORY 1

| Definition at line 329 of file hivedata.h. Referenced by DoDump(), HvInitializeHive(), HvpDoWriteHive(), HvpGetHiveHeader(), and HvpWriteLog().

#define HBASE_NAME_ALLOC 64

| Definition at line 331 of file hivedata.h. Referenced by DoDump(), HvpFillFileName(), and poolDumpHive().

#define HBIN_NIL (-1)

| Definition at line 188 of file hivedata.h. Referenced by HvCheckBin(), HvIsCellAllocated(), and HvpAddBin().

#define HBIN_SIGNATURE 0x6e696268

| Definition at line 187 of file hivedata.h. Referenced by HvCheckHive(), HvMarkCellDirty(), HvpAddBin(), HvpBuildMap(), HvpBuildMapAndCopy(), HvpFindNextDirtyBlock(), HvpGetHiveHeader(), HvpReadFileImageAndBuildMap(), HvpRecoverData(), and ScanHive().

#define HBIN_THRESHOLD (HBLOCK_SIZE-512)

| Definition at line 37 of file hivedata.h. Referenced by HvpAddBin().

#define HBLOCK_SIZE 0x1000

| Definition at line 122 of file hivedata.h. Referenced by CmInitSystem1(), CmpInitializeHive(), CmpInitializeHiveList(), CmpOpenHiveFiles(), CmpSaveKeyByFileCopy(), CmpSetValueKeyNew(), dumpHiveFromFile(), ExAllocatePool(), ExFreePool(), HvFreeHive(), HvFreeHivePartial(), HvInitializeHive(), HvpAddBin(), HvpBuildMap(), HvpBuildMapAndCopy(), HvpCleanMap(), HvpCoalesceDiscardedBins(), HvpDoWriteHive(), HvpEnlistBinInMap(), HvpFindNextDirtyBlock(), HvpFreeAllocatedBins(), HvpGetHiveHeader(), HvpGetLogHeader(), HvpInitMap(), HvpReadFileImageAndBuildMap(), HvpTruncateBins(), HvRefreshHive(), poolDumpMap(), and ScanHive().

#define HCELL_ALLOCATE_FILL 0xb2

| Definition at line 147 of file hivedata.h.

#define HCELL_BIG_ROUND (HBLOCK_SIZE*3)

| Definition at line 45 of file hivedata.h. Referenced by HvpAddBin().

#define HCELL_BLOCK_MASK 0x001ff000

| Definition at line 117 of file hivedata.h. Referenced by HvpGetCellPaged().

#define HCELL_BLOCK_SHIFT 12

| Definition at line 118 of file hivedata.h. Referenced by HvpGetCellPaged().

#define HCELL_FREE_FILL 0xfc

| Definition at line 151 of file hivedata.h. Referenced by HvFreeCell().

#define HCELL_NIL ((HCELL_INDEX)(-1))

| Definition at line 109 of file hivedata.h. Referenced by CmCheckRegistry(), CmDeleteKey(), CmDeleteValueKey(), CmEnumerateKey(), CmGetSystemControlValues(), CmGetSystemDriverList(), CmpAddDriverToList(), CmpAddSubKey(), CmpAddToLeaf(), CmpAssignSecurityDescriptor(), CmpCheckKey(), CmpCheckValueList(), CmpCleanUpKcbValueCache(), CmpCompareInIndex(), CmpCopyCell(), CmpCopyKeyPartial(), CmpCopySyncTree2(), CmpCopyValue(), CmpCreateLinkNode(), CmpCreateRootNode(), CmpDoCreateChild(), CmpFindControlSet(), CmpFindDrivers(), CmpFindMatchingDescriptorCell(), CmpFindNameInList(), CmpFindNLSData(), CmpFindProfileOption(), CmpFindSubKeyByName(), CmpFindSubKeyByNumber(), CmpFindSubKeyInLeaf(), CmpFindSubKeyInRoot(), CmpFindTagIndex(), CmpFreeKeyBody(), CmpFreeKeyValues(), CmpFreeSecurityDescriptor(), CmpGetSymbolicLink(), CmpIsLoadType(), CmpLinkHiveToMaster(), CmpLoadHiveVolatile(), CmpMarkIndexDirty(), CmpMarkKeyDirty(), CmpMarkKeyValuesDirty(), CmpMergeKeyValues(), CmpParseKey(), CmpRemoveSubKey(), CmpSearchForOpenSubKeys(), CmpSelectLeaf(), CmpSetCurrentProfile(), CmpSetSecurityDescriptorInfo(), CmpSetValueKeyExisting(), CmpSetValueKeyNew(), CmpSortDriverList(), CmpSplitLeaf(), CmpSyncKeyValues(), CmpSyncSubKeysAfterDelete(), CmpWalkPath(), CmQueryMultipleValueKey(), CmRestoreKey(), CmSaveKey(), CmSaveMergedKeys(), CmSetValueKey(), EhCreateChild(), EhOpenHive(), EhpAttachSecurity(), HvCheckHive(), HvInitializeHive(), HvpGetCellPaged(), HvRefreshHive(), and RiInitializeRegistryFromAsciiFile().

#define HCELL_OFFSET_MASK 0x00000fff

| Definition at line 120 of file hivedata.h. Referenced by HvpFindNextDirtyBlock(), and HvpGetCellPaged().

#define HCELL_PAD | ( | Hive |  | ) | ((Hive->Version>=2) ? 8 : 16)

| Definition at line 143 of file hivedata.h. Referenced by HvIsCellAllocated(), HvpEnlistFreeCells(), and HvpGetCellPaged().

#define HCELL_TABLE_MASK 0x7fe00000

| Definition at line 114 of file hivedata.h. Referenced by HvpGetCellPaged().

#define HCELL_TABLE_SHIFT 21

| Definition at line 115 of file hivedata.h. Referenced by HvpGetCellPaged().

#define HCELL_TYPE_MASK 0x80000000

| Definition at line 111 of file hivedata.h. Referenced by HvFreeCell(), HvFreeHive(), HvFreeHivePartial(), HvIsCellAllocated(), HvpAddBin(), HvpGetCellPaged(), and HvpTruncateBins().

#define HCELL_TYPE_SHIFT 31

| Definition at line 112 of file hivedata.h.

#define HDIRECTORY_SLOTS 1024

| Definition at line 133 of file hivedata.h. Referenced by HvpFreeMap().

#define HFILE_TYPE_ALTERNATE 1

| Definition at line 569 of file hivedata.h. Referenced by CmpInitializeHive(), CmpInitializeHiveList(), CmpInitializeSystemHive(), DoDump(), EhCloseHive(), EhOpenHive(), HvInitializeHive(), HvpAddBin(), and HvSyncHive().

#define HFILE_TYPE_EXTERNAL 3

| Definition at line 571 of file hivedata.h. Referenced by CmpInitializeHive(), CmpInitializeHiveList(), CmpSaveKeyByFileCopy(), CmSaveKey(), CmSaveMergedKeys(), and HvWriteHive().

#define HFILE_TYPE_LOG 2

| Definition at line 570 of file hivedata.h. Referenced by CmpInitHiveFromFile(), CmpInitializeHive(), CmpInitializeHiveList(), DoDump(), EhCloseHive(), EhOpenHive(), HvInitializeHive(), HvpDoWriteHive(), HvpGetLogHeader(), HvpGrowLog1(), HvpGrowLog2(), HvpRecoverData(), HvpWriteLog(), and MyCmpInitHiveFromFile().

#define HFILE_TYPE_MAX 4

| Definition at line 572 of file hivedata.h. Referenced by CmpInitializeHive(), CmpWorker(), CmpWorkerCommand(), and DoDump().

#define HFILE_TYPE_PRIMARY 0

| Definition at line 568 of file hivedata.h. Referenced by CmGetSystemControlValues(), CmInitSystem1(), CmpAddToHiveFileList(), CmpInitHiveFromFile(), CmpInitializeHive(), CmpInitializeHiveList(), CmpLoadHiveVolatile(), CmpSaveKeyByFileCopy(), CmpValidateAlternate(), CmpWorker(), CmRestoreKey(), DoDump(), EhCloseHive(), EhOpenHive(), HvInitializeHive(), HvLoadHive(), HvpAddBin(), HvpDoWriteHive(), HvpGetHiveHeader(), HvpReadFileImageAndBuildMap(), HvRefreshHive(), HvSyncHive(), and MyCmpInitHiveFromFile().

#define HHIVE_EXPONENTIAL_INDEX 23

| Definition at line 575 of file hivedata.h.

#define HHIVE_FREE_DISPLAY_BIAS 7

| Definition at line 580 of file hivedata.h.

#define HHIVE_FREE_DISPLAY_SHIFT 3

| Definition at line 579 of file hivedata.h.

#define HHIVE_FREE_DISPLAY_SIZE 24

| Definition at line 577 of file hivedata.h. Referenced by HvInitializeHive(), and HvRefreshHive().

#define HHIVE_LINEAR_INDEX 16

| Definition at line 574 of file hivedata.h.

#define HHIVE_SIGNATURE 0xBEE0BEE0

| Definition at line 566 of file hivedata.h. Referenced by HvInitializeHive(), HvIsBinDirty(), HvIsCellAllocated(), HvLoadHive(), HvMarkCellDirty(), HvMarkClean(), HvMarkDirty(), HvpGetCellPaged(), HvSyncHive(), and HvWriteHive().

#define HLOG_DV_SIGNATURE 0x54524944

| Definition at line 354 of file hivedata.h. Referenced by HvpRecoverData(), and HvpWriteLog().

#define HLOG_GROW HBLOCK_SIZE

| Definition at line 41 of file hivedata.h. Referenced by HvpGrowLog1(), and HvpGrowLog2().

#define HLOG_HEADER_SIZE (FIELD_OFFSET(HBASE_BLOCK, Reserved2))

| Definition at line 353 of file hivedata.h. Referenced by HvpWriteLog().

#define HLOG_MINSIZE | ( | Hive |  | ) | ((Hive)->Cluster * HSECTOR_SIZE * 2)

| Definition at line 58 of file hivedata.h. Referenced by HvpDoWriteHive().

#define HMAP_BASE (~3)

| Definition at line 412 of file hivedata.h. Referenced by HvCheckHive(), HvFreeCell(), HvFreeHive(), HvFreeHivePartial(), HvIsBinDirty(), HvIsCellAllocated(), HvMarkCellDirty(), HvpAddBin(), HvpDiscardBins(), HvpFindNextDirtyBlock(), HvpFreeAllocatedBins(), HvpGetCellPaged(), HvpRecoverData(), and HvRefreshHive().

#define HMAP_DISCARDABLE 2

| Definition at line 414 of file hivedata.h. Referenced by HvCheckHive(), HvFreeHive(), HvFreeHivePartial(), HvpAddBin(), HvpCoalesceDiscardedBins(), HvpDiscardBins(), HvpFindNextDirtyBlock(), HvpGetCellPaged(), HvpTruncateBins(), and HvRefreshHive().

#define HMAP_FLAGS (3)

| Definition at line 411 of file hivedata.h.

#define HMAP_NEWALLOC 1

| Definition at line 413 of file hivedata.h. Referenced by HvFreeHive(), HvpAddBin(), HvpBuildMapAndCopy(), HvpEnlistBinInMap(), HvpFreeAllocatedBins(), HvpRecoverData(), and HvRefreshHive().

#define HSANE_CELL_MAX (1024*1024)

| Definition at line 30 of file hivedata.h.

#define HSECTOR_COUNT 8

| Definition at line 130 of file hivedata.h. Referenced by HvInitializeHive(), and HvpFindNextDirtyBlock().

#define HSECTOR_SIZE 0x200

| Definition at line 129 of file hivedata.h. Referenced by CmpInitializeHive(), CmpOpenHiveFiles(), DoDump(), HvFreeHivePartial(), HvInitializeHive(), HvIsBinDirty(), HvMarkClean(), HvMarkDirty(), HvpAddBin(), HvpBuildMapAndCopy(), HvpDoWriteHive(), HvpFindNextDirtyBlock(), HvpGetHiveHeader(), HvpGetLogHeader(), HvpGrowLog1(), HvpGrowLog2(), HvpInitMap(), HvpRecoverData(), HvpWriteLog(), HvRefreshHive(), and HvWriteHive().

#define HSYS_MAJOR 1

| Definition at line 325 of file hivedata.h. Referenced by DoDump(), HvInitializeHive(), HvpDoWriteHive(), HvpGetHiveHeader(), HvpWriteLog(), and ScanHive().

#define HSYS_MINOR 3

| Definition at line 326 of file hivedata.h. Referenced by DoDump(), HvInitializeHive(), HvpGetHiveHeader(), and ScanHive().

#define HTABLE_SLOTS 512

| Definition at line 132 of file hivedata.h. Referenced by HvFreeHive(), HvFreeHivePartial(), HvpAddBin(), HvpBuildMapAndCopy(), HvpCleanMap(), HvpFreeAllocatedBins(), HvpInitMap(), and poolDumpMap().

#define HTYPE_COUNT 2

| Definition at line 76 of file hivedata.h. Referenced by HvInitializeHive(), and HvpTruncateBins().

#define HvGetCellType | ( | Cell |  | ) | ((ULONG)((Cell & HCELL_TYPE_MASK) >> HCELL_TYPE_SHIFT))

| Definition at line 135 of file hivedata.h. Referenced by CmpAddSubKey(), CmpAssignSecurityDescriptor(), CmpCheckKey(), CmpCopyKeyPartial(), CmpCopySyncTree2(), CmpDoCreate(), CmpFindMatchingDescriptorCell(), CmpInsertSecurityCellList(), CmpMergeKeyValues(), CmpRemoveSubKey(), CmpSetSecurityDescriptorInfo(), CmpSyncKeyValues(), CmRestoreKey(), CmSetValueKey(), HvFreeCell(), HvIsBinDirty(), HvIsCellAllocated(), HvMarkCellDirty(), HvMarkClean(), HvMarkDirty(), and HvpGetCellPaged().

#define USE_OLD_CELL | ( | Hive |  | ) | (Hive->Version==1)

| Definition at line 161 of file hivedata.h. Referenced by HvCheckBin(), HvFreeCell(), HvIsCellAllocated(), HvMarkCellDirty(), HvpAddBin(), and HvpGetCellPaged().

## Typedef Documentation

typedef struct _FREE_HBIN FREE_HBIN

| Referenced by HvpAddBin().

typedef struct _HBASE_BLOCK HBASE_BLOCK

| Referenced by HvpGetHiveHeader(), and HvpGetLogHeader().

typedef struct _HBIN HBIN

| Referenced by HvpAddBin().

typedef struct _HCELL HCELL

typedef ULONG HCELL_INDEX

| Definition at line 106 of file hivedata.h. Referenced by CmDeleteKey(), CmDeleteValueKey(), CmEnumerateKey(), CmGetSystemControlValues(), CmGetSystemDriverList(), CmpAddDriverToList(), CmpAddSubKey(), CmpAddToLeaf(), CmpAssignSecurityDescriptor(), CmpCheckKey(), CmpCheckRegistry2(), CmpCheckValueList(), CmpCopyCell(), CmpCopyKeyPartial(), CmpCopySyncTree2(), CmpCopyValue(), CmpCreateLinkNode(), CmpCreateRegistryRoot(), CmpDeleteTree(), CmpDestroyHive(), CmpDoCreate(), CmpDoCreateChild(), CmpDoFindSubKeyByNumber(), CmpFindControlSet(), CmpFindDrivers(), CmpFindMatchingDescriptorCell(), CmpFindNLSData(), CmpFindProfileOption(), CmpFindSubKeyByName(), CmpFindSubKeyInRoot(), CmpFindTagIndex(), CmpFreeSecurityDescriptor(), CmpGetHiveName(), CmpGetKeySecurity(), CmpGetObjectSecurity(), CmpGetSymbolicLink(), CmpIsLoadType(), CmpLoadHiveVolatile(), CmpMarkIndexDirty(), CmpMergeKeyValues(), CmpParseKey(), CmpRefreshHive(), CmpRemoveSubKey(), CmpSelectLeaf(), CmpSetCurrentProfile(), CmpSetSecurityDescriptorInfo(), CmpSetValueKeyExisting(), CmpSetValueKeyNew(), CmpSortDriverList(), CmpSplitLeaf(), CmpSyncKeyValues(), CmpSyncSubKeysAfterDelete(), CmpValidateHiveSecurityDescriptors(), CmpWalkPath(), CmQueryMultipleValueKey(), CmQueryValueKey(), CmRestoreKey(), CmSaveKey(), CmSaveMergedKeys(), CmSetLastWriteTimeKey(), CmSetValueKey(), EhCreateChild(), EhDeleteValueKey(), EhEnumerateKey(), EhEnumerateValueKey(), EhGetKeySecurity(), EhOpenChildByName(), EhOpenChildByNumber(), EhpAttachSecurity(), EhQueryKey(), EhQueryValueKey(), EhSetValueKey(), HvCheckHive(), HvFreeCell(), HvFreeHive(), HvFreeHivePartial(), HvInitializeHive(), HvMarkCellDirty(), HvpEnlistFreeCells(), HvpFindNextDirtyBlock(), HvRefreshHive(), NtQueryOpenSubKeys(), and NtUnloadKey().

typedef struct _HHIVE HHIVE

typedef struct _HMAP_DIRECTORY HMAP_DIRECTORY

| Referenced by HvpAddBin(), and poolDumpMap().

typedef struct _HMAP_ENTRY HMAP_ENTRY

| Referenced by poolDumpMap().

typedef struct _HMAP_TABLE HMAP_TABLE

| Referenced by HvpAddBin().

typedef PVOID(* PALLOCATE_ROUTINE)(ULONG Length,BOOLEAN UseForIo)

| Definition at line 458 of file hivedata.h.

typedef * PCMP_OFFSET_ARRAY

| Referenced by HvpDoWriteHive(), and HvpWriteLog().

typedef BOOLEAN(* PFILE_FLUSH_ROUTINE)(struct _HHIVE *Hive, ULONG FileType)

| Definition at line 506 of file hivedata.h.

typedef BOOLEAN(* PFILE_READ_ROUTINE)(struct _HHIVE *Hive, ULONG FileType, PULONG FileOffset, PVOID DataBuffer, ULONG DataLength)

| Definition at line 496 of file hivedata.h.

typedef BOOLEAN(* PFILE_SET_SIZE_ROUTINE)(struct _HHIVE *Hive, ULONG FileType, ULONG FileSize)

| Definition at line 472 of file hivedata.h.

typedef BOOLEAN(* PFILE_WRITE_ROUTINE)(struct _HHIVE *Hive, ULONG FileType, PCMP_OFFSET_ARRAY offsetArray, ULONG offsetArrayCount, PULONG FileOffset)

| Definition at line 486 of file hivedata.h.

typedef struct _FREE_HBIN * PFREE_HBIN

| Referenced by HvpAddBin().

typedef VOID(* PFREE_ROUTINE)(PVOID MemoryBlock, ULONG GlobalQuotaSize)

| Definition at line 465 of file hivedata.h.

typedef struct _CELL_DATA*(* PGET_CELL_ROUTINE)(struct _HHIVE *Hive, HCELL_INDEX Cell)

| Definition at line 513 of file hivedata.h.

typedef struct _HBASE_BLOCK * PHBASE_BLOCK

| Referenced by CmGetSystemControlValues().

typedef struct _HBIN * PHBIN

typedef struct _HCELL * PHCELL

typedef HCELL_INDEX* PHCELL_INDEX

| Definition at line 107 of file hivedata.h. Referenced by CmGetSystemControlValues(), CmpAddDriverToList(), CmpAddSubKey(), CmpFindControlSet(), CmpFindDrivers(), CmpFindNLSData(), CmpGetSymbolicLink(), CmpIsLoadType(), CmpParseKey(), CmpSortDriverList(), CmpWalkPath(), CmQueryValueKey(), CmRestoreKey(), EhCreateChild(), EhOpenChildByName(), and EhOpenChildByNumber().

typedef struct _HHIVE * PHHIVE

typedef struct _HMAP_DIRECTORY * PHMAP_DIRECTORY

typedef struct _HMAP_ENTRY * PHMAP_ENTRY

typedef struct _HMAP_TABLE * PHMAP_TABLE

| Referenced by HvpAddBin(), and poolDumpMap().

## Enumeration Type Documentation

enum HSTORAGE_TYPE

Enumeration values:

  Stable |
  Volatile |

Definition at line 71 of file hivedata.h.

Referenced by CmRestoreKey(), and HvpTruncateBins().

    00071              {
    00072     Stable = 0,
    00073     Volatile = 1
    00074 } HSTORAGE_TYPE;