test: cmdata.h File Reference

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

# cmdata.h File Reference

`#include "hivedata.h"`

Go to the source code of this file.

## Classes

struct | _CM_KEY_HASH
struct | _CM_NAME_HASH
struct | _CM_NAME_CONTROL_BLOCK
struct | _CM_INDEX_HINT_BLOCK
struct | _CACHED_CHILD_LIST
struct | _CM_KEY_CONTROL_BLOCK
struct | _CHILD_LIST
struct | _CM_KEY_REFERENCE
struct | _CM_INDEX
struct | _CM_KEY_FAST_INDEX
struct | _CM_KEY_INDEX
struct | _CM_KEY_NODE
struct | _CM_KEY_VALUE
struct | _CM_KEY_SECURITY
struct | _CELL_DATA
union | _CELL_DATA::_u
union | _KEY_INFORMATION
union | _KEY_VALUE_INFORMATION
struct | _CM_CACHED_VALUE_INDEX
struct | _CM_CACHED_VALUE

## Defines

#define | MAX_KEY_PATH_LENGTH 65535
#define | MAX_KEY_NAME_LENGTH 512
#define | MAX_FRIENDLY_NAME_LENGTH 160
#define | MAX_KEY_VALUE_NAME_LENGTH 32767
#define | SET_KCB_SIGNATURE(_kcb_, _sig_)
#define | ASSERT_KCB(_kcb_)
#define | ASSERT_KEY_HASH(_keyhash_)
#define | CM_SUBKEY_HINT_LENGTH 4
#define | CM_MAX_CACHE_HINT_SIZE 14
#define | CM_KCB_NO_SUBKEY 0x0001
#define | CM_KCB_SUBKEY_ONE 0x0002
#define | CM_KCB_SUBKEY_HINT 0x0004
#define | CM_KCB_SYM_LINK_FOUND 0x0008
#define | CM_KCB_KEY_NON_EXIST 0x0010
#define | CM_KCB_NO_DELAY_CLOSE 0x0020
#define | CM_KCB_CACHE_MASK
#define | KCB_TO_KEYBODY_LINK
#define | UseFastIndex(Hive) ((Hive)->Version>=3)
#define | CM_KEY_INDEX_ROOT 0x6972
#define | CM_KEY_INDEX_LEAF 0x696c
#define | CM_KEY_FAST_LEAF 0x666c
#define | CM_MAX_INDEX
#define | CM_MAX_LEAF_SIZE
#define | CM_MAX_FAST_INDEX
#define | CM_MAX_FAST_LEAF_SIZE
#define | CM_KEY_NODE_SIGNATURE 0x6b6e
#define | CM_LINK_NODE_SIGNATURE 0x6b6c
#define | KEY_VOLATILE 0x0001
#define | KEY_HIVE_EXIT 0x0002
#define | KEY_HIVE_ENTRY 0x0004
#define | KEY_NO_DELETE 0x0008
#define | KEY_SYM_LINK 0x0010
#define | KEY_COMP_NAME 0x0020
#define | KEY_PREDEF_HANDLE 0x0040
#define | CM_KEY_VALUE_SIGNATURE 0x6b76
#define | CM_KEY_VALUE_SPECIAL_SIZE 0x80000000
#define | CM_KEY_VALUE_SMALL 4
#define | VALUE_COMP_NAME 0x0001
#define | CmpIsHKeyValueSmall(realsize, size)
#define | CM_KEY_SECURITY_SIGNATURE 0x6b73
#define | CM_CACHE_DATA_NOT_CACHED 0
#define | CM_CACHE_DATA_CACHED 1
#define | CM_CACHE_DATA_TOO_BIG 2
#define | MAXIMUM_CACHED_DATA 2048
#define | CMP_CELL_CACHED_MASK 1
#define | CMP_IS_CELL_CACHED(Cell) (((ULONG_PTR) (Cell) & CMP_CELL_CACHED_MASK) && ((Cell) != (ULONG_PTR) HCELL_NIL))
#define | CMP_GET_CACHED_ADDRESS(Cell) (((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK)
#define | CMP_GET_CACHED_CELLDATA(Cell) (&(((PCM_CACHED_VALUE_INDEX)(((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK))->Data.CellData))
#define | CMP_GET_CACHED_KEYVALUE(Cell) (&(((PCM_CACHED_VALUE)(((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK))->KeyValue))
#define | CMP_GET_CACHED_CELL(Cell) (((PCM_CACHED_ENTRY)(((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK))->CellIndex)
#define | CMP_MARK_CELL_CACHED(Cell) (((ULONG_PTR) (Cell)) | CMP_CELL_CACHED_MASK)
#define | CMP_GET_CACHED_CELL_INDEX(Cell) (PtrToUlong((PVOID) (Cell)))

## Typedefs

typedef ULONG | HASH_VALUE
typedef _CM_KEY_HASH | CM_KEY_HASH
typedef _CM_KEY_HASH * | PCM_KEY_HASH
typedef _CM_NAME_HASH | CM_NAME_HASH
typedef _CM_NAME_HASH * | PCM_NAME_HASH
typedef _CM_NAME_CONTROL_BLOCK | CM_NAME_CONTROL_BLOCK
typedef _CM_NAME_CONTROL_BLOCK * | PCM_NAME_CONTROL_BLOCK
typedef _CM_INDEX_HINT_BLOCK | CM_INDEX_HINT_BLOCK
typedef _CM_INDEX_HINT_BLOCK * | PCM_INDEX_HINT_BLOCK
typedef _CACHED_CHILD_LIST | CACHED_CHILD_LIST
typedef _CACHED_CHILD_LIST * | PCACHED_CHILD_LIST
typedef _CM_KEY_CONTROL_BLOCK | CM_KEY_CONTROL_BLOCK
typedef _CM_KEY_CONTROL_BLOCK * | PCM_KEY_CONTROL_BLOCK
typedef enum _NODE_TYPE | NODE_TYPE
typedef enum _CMP_COPY_TYPE | CMP_COPY_TYPE
typedef enum _SUBKEY_SEARCH_TYPE | SUBKEY_SEARCH_TYPE
typedef _CHILD_LIST | CHILD_LIST
typedef _CHILD_LIST * | PCHILD_LIST
typedef _CM_KEY_REFERENCE | CM_KEY_REFERENCE
typedef _CM_KEY_REFERENCE * | PCM_KEY_REFERENCE
typedef _CM_INDEX | CM_INDEX
typedef _CM_INDEX * | PCM_INDEX
typedef _CM_KEY_FAST_INDEX | CM_KEY_FAST_INDEX
typedef _CM_KEY_FAST_INDEX * | PCM_KEY_FAST_INDEX
typedef _CM_KEY_INDEX | CM_KEY_INDEX
typedef _CM_KEY_INDEX * | PCM_KEY_INDEX
typedef _CM_KEY_NODE | CM_KEY_NODE
typedef _CM_KEY_NODE * | PCM_KEY_NODE
typedef _CM_KEY_VALUE | CM_KEY_VALUE
typedef _CM_KEY_VALUE * | PCM_KEY_VALUE
typedef _CM_KEY_SECURITY | CM_KEY_SECURITY
typedef _CM_KEY_SECURITY * | PCM_KEY_SECURITY
typedef _CELL_DATA | CELL_DATA
typedef _CELL_DATA * | PCELL_DATA
typedef _KEY_INFORMATION | KEY_INFORMATION
typedef _KEY_INFORMATION * | PKEY_INFORMATION
typedef _KEY_VALUE_INFORMATION | KEY_VALUE_INFORMATION
typedef _KEY_VALUE_INFORMATION * | PKEY_VALUE_INFORMATION
typedef _CM_CACHED_VALUE_INDEX | CM_CACHED_VALUE_INDEX
typedef _CM_CACHED_VALUE_INDEX * | PCM_CACHED_VALUE_INDEX
typedef _CM_CACHED_VALUE | CM_CACHED_VALUE
typedef _CM_CACHED_VALUE * | PCM_CACHED_VALUE
typedef PCM_CACHED_VALUE * | PPCM_CACHED_VALUE

## Enumerations

enum | _NODE_TYPE { KeyBodyNode, KeyValueNode }
enum | _CMP_COPY_TYPE { Copy, Sync, Merge }
enum | _SUBKEY_SEARCH_TYPE { SearchIfExist, SearchAndDeref, SearchAndCount }

## Define Documentation

#define ASSERT_KCB | ( | _kcb_ |  | ) |

| Definition at line 69 of file cmdata.h. Referenced by CmpCreateKeyControlBlock(), CmpDereferenceKeyControlBlockWithLock(), CmpRemoveKeyControlBlock(), and CmpSearchKeyControlBlockTree().

#define ASSERT_KEY_HASH | ( | _keyhash_ |  | ) |

| Definition at line 70 of file cmdata.h. Referenced by CmpCacheLookup(), CmpInsertKeyHash(), and CmpRemoveKeyHash().

#define CM_CACHE_DATA_CACHED 1

| Definition at line 586 of file cmdata.h. Referenced by CmpGetValueDataFromCache().

#define CM_CACHE_DATA_NOT_CACHED 0

| Definition at line 585 of file cmdata.h. Referenced by CmpGetValueDataFromCache(), and CmpGetValueKeyFromCache().

#define CM_CACHE_DATA_TOO_BIG 2

| Definition at line 587 of file cmdata.h. Referenced by CmpGetValueDataFromCache().

#define CM_KCB_CACHE_MASK

Value:

    (CM_KCB_NO_SUBKEY | \
                               CM_KCB_KEY_NON_EXIST | \
                               CM_KCB_SUBKEY_ONE | \
                               CM_KCB_SUBKEY_HINT)

Definition at line 260 of file cmdata.h.

Referenced by CmpParseKey().

#define CM_KCB_KEY_NON_EXIST 0x0010

| Definition at line 257 of file cmdata.h. Referenced by CmpCacheLookup(), CmpCreateKeyControlBlock(), CmpInsertKeyHash(), and CmpParseKey().

#define CM_KCB_NO_DELAY_CLOSE 0x0020

| Definition at line 258 of file cmdata.h. Referenced by CmpCleanUpKcbValueCache(), and CmpDereferenceKeyControlBlockWithLock().

#define CM_KCB_NO_SUBKEY 0x0001

| Definition at line 251 of file cmdata.h. Referenced by CmpAddInfoAfterParseFailure(), CmpCleanUpSubKeyInfo(), and CmpParseKey().

#define CM_KCB_SUBKEY_HINT 0x0004

| Definition at line 255 of file cmdata.h. Referenced by CmpAddInfoAfterParseFailure(), CmpCleanUpKcbCacheWithLock(), CmpCleanUpSubKeyInfo(), and CmRestoreKey().

#define CM_KCB_SUBKEY_ONE 0x0002

| Definition at line 252 of file cmdata.h. Referenced by CmpAddInfoAfterParseFailure(), CmpCleanUpSubKeyInfo(), and CmpParseKey().

#define CM_KCB_SYM_LINK_FOUND 0x0008

| Definition at line 256 of file cmdata.h. Referenced by CmEnumerateValueKey(), CmpCleanUpKcbValueCache(), CmpDoOpen(), CmpGetSymbolicLink(), and CmQueryValueKey().

#define CM_KEY_FAST_LEAF 0x666c

| Definition at line 373 of file cmdata.h. Referenced by CmpAddInfoAfterParseFailure(), CmpAddSubKey(), CmpAddToLeaf(), CmpCheckKey(), CmpCompareInIndex(), CmpDoFindSubKeyByNumber(), CmpFindSubKeyByName(), CmpFindSubKeyInLeaf(), CmpFindSubKeyInRoot(), CmpMarkIndexDirty(), CmpRemoveSubKey(), and CmRestoreKey().

#define CM_KEY_INDEX_LEAF 0x696c

| Definition at line 372 of file cmdata.h. Referenced by CmpAddSubKey(), CmpAddToLeaf(), CmpCheckKey(), CmpFindSubKeyByName(), CmpFindSubKeyInLeaf(), CmpFindSubKeyInRoot(), CmpMarkIndexDirty(), CmpRemoveSubKey(), CmpSplitLeaf(), and ScanCell().

#define CM_KEY_INDEX_ROOT 0x6972

| Definition at line 371 of file cmdata.h. Referenced by CmpAddSubKey(), CmpCheckKey(), CmpDoFindSubKeyByNumber(), CmpFindSubKeyByName(), CmpFindSubKeyInRoot(), CmpMarkIndexDirty(), CmpRemoveSubKey(), CmpSelectLeaf(), CmRestoreKey(), and ScanCell().

#define CM_KEY_NODE_SIGNATURE 0x6b6e

| Definition at line 422 of file cmdata.h. Referenced by CmpCheckKey(), CmpCreateRootNode(), CmpDoCreateChild(), CmpGetKeySecurity(), EhCreateChild(), and ScanCell().

#define CM_KEY_SECURITY_SIGNATURE 0x6b73

| Definition at line 517 of file cmdata.h. Referenced by CmpAssignSecurityDescriptor(), CmpSetSecurityDescriptorInfo(), EhpAttachSecurity(), and ScanCell().

#define CM_KEY_VALUE_SIGNATURE 0x6b76

| Definition at line 485 of file cmdata.h. Referenced by CmpCheckValueList(), CmpSetValueKeyNew(), and ScanCell().

#define CM_KEY_VALUE_SMALL 4

| Definition at line 489 of file cmdata.h. Referenced by CmGetSystemControlValues(), CmpCopyValue(), CmpQueryKeyValueData(), CmpSetValueKeyExisting(), CmpSetValueKeyNew(), and CmSetValueKey().

#define CM_KEY_VALUE_SPECIAL_SIZE 0x80000000

| Definition at line 487 of file cmdata.h. Referenced by CmpCheckValueList(), CmpCopyValue(), CmpSetValueKeyExisting(), CmpSetValueKeyNew(), CmSetValueKey(), and ScanKeyValue().

#define CM_LINK_NODE_SIGNATURE 0x6b6c

| Definition at line 423 of file cmdata.h. Referenced by CmpCreateLinkNode().

#define CM_MAX_CACHE_HINT_SIZE 14

| Definition at line 245 of file cmdata.h. Referenced by CmpAddInfoAfterParseFailure().

#define CM_MAX_FAST_INDEX

Value:

    ( (HBLOCK_SIZE-                                                             \
        (sizeof(HBIN)+FIELD_OFFSET(HCELL,u)+FIELD_OFFSET(CM_KEY_FAST_INDEX,List))) /  \
        sizeof(CM_INDEX) )

Definition at line 408 of file cmdata.h.

Referenced by CmpAddSubKey().

#define CM_MAX_FAST_LEAF_SIZE

Value:

    ((sizeof(CM_INDEX)*CM_MAX_FAST_INDEX) + \
                              (FIELD_OFFSET(CM_KEY_FAST_INDEX, List)))

Definition at line 413 of file cmdata.h.

#define CM_MAX_INDEX

Value:

    ( (HBLOCK_SIZE-                                                             \
        (sizeof(HBIN)+FIELD_OFFSET(HCELL,u)+FIELD_OFFSET(CM_KEY_INDEX,List))) /  \
        sizeof(HCELL_INDEX) )

Definition at line 396 of file cmdata.h.

Referenced by CmpAddSubKey(), and CmpSelectLeaf().

#define CM_MAX_LEAF_SIZE

Value:

    ((sizeof(HCELL_INDEX)*CM_MAX_INDEX) + \
                              (FIELD_OFFSET(CM_KEY_INDEX, List)))

Definition at line 401 of file cmdata.h.

#define CM_SUBKEY_HINT_LENGTH 4

| Definition at line 244 of file cmdata.h. Referenced by CmpAddInfoAfterParseFailure(), and CmpParseKey().

#define CMP_CELL_CACHED_MASK 1

| Definition at line 606 of file cmdata.h.

#define CMP_GET_CACHED_ADDRESS | ( | Cell |  | ) | (((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK)

| Definition at line 609 of file cmdata.h. Referenced by CmEnumerateValueKey(), CmpCleanUpKcbValueCache(), CmpGetValueDataFromCache(), CmpGetValueKeyFromCache(), and CmQueryValueKey().

#define CMP_GET_CACHED_CELL | ( | Cell |  | ) | (((PCM_CACHED_ENTRY)(((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK))->CellIndex)

| Definition at line 612 of file cmdata.h.

#define CMP_GET_CACHED_CELL_INDEX | ( | Cell |  | ) | (PtrToUlong((PVOID) (Cell)))

| Definition at line 615 of file cmdata.h. Referenced by CmpGetValueListFromCache().

#define CMP_GET_CACHED_CELLDATA | ( | Cell |  | ) | (&(((PCM_CACHED_VALUE_INDEX)(((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK))->Data.CellData))

| Definition at line 610 of file cmdata.h. Referenced by CmpCleanUpKcbValueCache(), and CmpGetValueListFromCache().

#define CMP_GET_CACHED_KEYVALUE | ( | Cell |  | ) | (&(((PCM_CACHED_VALUE)(((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK))->KeyValue))

| Definition at line 611 of file cmdata.h. Referenced by CmpGetValueKeyFromCache().

#define CMP_IS_CELL_CACHED | ( | Cell |  | ) | (((ULONG_PTR) (Cell) & CMP_CELL_CACHED_MASK) && ((Cell) != (ULONG_PTR) HCELL_NIL))

| Definition at line 608 of file cmdata.h. Referenced by CmpCleanUpKcbValueCache(), CmpGetValueKeyFromCache(), and CmpGetValueListFromCache().

#define CMP_MARK_CELL_CACHED | ( | Cell |  | ) | (((ULONG_PTR) (Cell)) | CMP_CELL_CACHED_MASK)

| Definition at line 613 of file cmdata.h. Referenced by CmpGetValueDataFromCache(), CmpGetValueKeyFromCache(), and CmpGetValueListFromCache().

#define CmpIsHKeyValueSmall | ( | realsize,
|  | size |  | ) |

Value:

    ((size >= CM_KEY_VALUE_SPECIAL_SIZE) ?                       \
            ((realsize) = size - CM_KEY_VALUE_SPECIAL_SIZE, TRUE) :       \
            ((realsize) = size, FALSE))

Definition at line 508 of file cmdata.h.

Referenced by CmDeleteValueKey(), CmGetSystemControlValues(), CmpCopyValue(), CmpFreeValue(), CmpGetSymbolicLink(), CmpMarkKeyDirty(), CmpMarkKeyValuesDirty(), CmpQueryKeyValueData(), CmpSetValueKeyExisting(), and CmQueryMultipleValueKey().

#define KCB_TO_KEYBODY_LINK

| Definition at line 266 of file cmdata.h.

#define KEY_COMP_NAME 0x0020

| Definition at line 440 of file cmdata.h. Referenced by CmpAddDriverToList(), CmpAddSubKey(), CmpCopyKeyPartial(), CmpCreateLinkNode(), CmpCreateRootNode(), CmpDoCompareKeyName(), CmpDoCreateChild(), CmpFindProfileOption(), CmpGetHiveName(), CmpInitializeKeyNameString(), CmpLoadHiveVolatile(), CmpMarkIndexDirty(), CmpQueryKeyData(), CmpRemoveSubKey(), and CmRestoreKey().

#define KEY_HIVE_ENTRY 0x0004

| Definition at line 434 of file cmdata.h. Referenced by CmpCopyKeyPartial(), CmpCreateLinkNode(), CmpCreateRootNode(), CmpFindMatchingDescriptorCell(), CmpInsertSecurityCellList(), CmpMarkKeyDirty(), CmpMarkKeyParentDirty(), CmpRefreshHive(), CmpReportNotify(), CmRestoreKey(), and HvRefreshHive().

#define KEY_HIVE_EXIT 0x0002

| Definition at line 428 of file cmdata.h. Referenced by CmpCreateLinkNode(), CmpFreeKeyBody(), CmpFreeKeyByCell(), CmpFreeKeyValues(), CmpMarkKeyDirty(), CmpMarkKeyValuesDirty(), and CmpReportNotify().

#define KEY_NO_DELETE 0x0008

| Definition at line 437 of file cmdata.h. Referenced by CmDeleteKey(), CmpCopyKeyPartial(), CmpCreateLinkNode(), CmpCreateRootNode(), and HvRefreshHive().

#define KEY_PREDEF_HANDLE 0x0040

| Definition at line 442 of file cmdata.h. Referenced by CmpDeleteKeyObject(), CmpDoCreateChild(), CmpDoOpen(), CmpFreeKeyByCell(), and CmpMarkKeyDirty().

#define KEY_SYM_LINK 0x0010

| Definition at line 439 of file cmdata.h. Referenced by CmpDoCreate(), CmpDoOpen(), CmpParseKey(), and CmSetValueKey().

#define KEY_VOLATILE 0x0001

| Definition at line 425 of file cmdata.h.

#define MAX_FRIENDLY_NAME_LENGTH 160

| Definition at line 35 of file cmdata.h. Referenced by CmpCreateHwProfileFriendlyName().

#define MAX_KEY_NAME_LENGTH 512

| Definition at line 34 of file cmdata.h. Referenced by CmpCopySyncTree2(), CmpFlushNotify(), CmpFreePostBlock(), CmpGetNextName(), CmpInitializeKeyNameString(), CmpNotifyChangeKey(), and CmpPostNotify().

#define MAX_KEY_PATH_LENGTH 65535

| Definition at line 33 of file cmdata.h.

#define MAX_KEY_VALUE_NAME_LENGTH 32767

| Definition at line 36 of file cmdata.h. Referenced by CmpInitializeValueNameString(), CmpMergeKeyValues(), and NtSetValueKey().

#define MAXIMUM_CACHED_DATA 2048

| Definition at line 588 of file cmdata.h. Referenced by CmpGetValueDataFromCache().

#define SET_KCB_SIGNATURE | ( | _kcb_,
|  | _sig_ |  | ) |

| Definition at line 68 of file cmdata.h. Referenced by CmpCleanUpKcbCacheWithLock(), and CmpCreateKeyControlBlock().

#define UseFastIndex | ( | Hive |  | ) | ((Hive)->Version>=3)

| Definition at line 369 of file cmdata.h. Referenced by CmpAddInfoAfterParseFailure(), and CmpAddSubKey().

#define VALUE_COMP_NAME 0x0001

| Definition at line 491 of file cmdata.h. Referenced by CmpFindNameInList(), CmpFindValueByNameFromCache(), CmpInitializeValueNameString(), CmpQueryKeyValueData(), and CmpSetValueKeyNew().

## Typedef Documentation

typedef struct _CACHED_CHILD_LIST CACHED_CHILD_LIST

typedef struct _CELL_DATA CELL_DATA

typedef struct _CHILD_LIST CHILD_LIST

typedef struct _CM_CACHED_VALUE CM_CACHED_VALUE

typedef struct _CM_CACHED_VALUE_INDEX CM_CACHED_VALUE_INDEX

typedef struct _CM_INDEX CM_INDEX

typedef struct _CM_INDEX_HINT_BLOCK CM_INDEX_HINT_BLOCK

typedef struct _CM_KEY_CONTROL_BLOCK CM_KEY_CONTROL_BLOCK

| Referenced by kcbWorker().

typedef struct _CM_KEY_FAST_INDEX CM_KEY_FAST_INDEX

typedef struct _CM_KEY_HASH CM_KEY_HASH

typedef struct _CM_KEY_INDEX CM_KEY_INDEX

typedef struct _CM_KEY_NODE CM_KEY_NODE

typedef struct _CM_KEY_REFERENCE CM_KEY_REFERENCE

typedef struct _CM_KEY_SECURITY CM_KEY_SECURITY

typedef struct _CM_KEY_VALUE CM_KEY_VALUE

typedef struct _CM_NAME_CONTROL_BLOCK CM_NAME_CONTROL_BLOCK

typedef struct _CM_NAME_HASH CM_NAME_HASH

typedef enum _CMP_COPY_TYPE CMP_COPY_TYPE

typedef ULONG HASH_VALUE

| Definition at line 52 of file cmdata.h. Referenced by CmpInsertKeyHash(), and CmpRemoveKeyHash().

typedef union _KEY_INFORMATION KEY_INFORMATION

typedef union _KEY_VALUE_INFORMATION KEY_VALUE_INFORMATION

typedef enum _NODE_TYPE NODE_TYPE

typedef struct _CACHED_CHILD_LIST * PCACHED_CHILD_LIST

typedef struct _CELL_DATA * PCELL_DATA

typedef struct _CHILD_LIST * PCHILD_LIST

| Referenced by CmDeleteValueKey().

typedef struct _CM_CACHED_VALUE * PCM_CACHED_VALUE

typedef struct _CM_CACHED_VALUE_INDEX * PCM_CACHED_VALUE_INDEX

typedef struct _CM_INDEX * PCM_INDEX

typedef struct _CM_INDEX_HINT_BLOCK * PCM_INDEX_HINT_BLOCK

typedef struct _CM_KEY_CONTROL_BLOCK * PCM_KEY_CONTROL_BLOCK

| Referenced by CmDeleteValueKey(), and CmpInitializeCache().

typedef struct _CM_KEY_FAST_INDEX * PCM_KEY_FAST_INDEX

typedef struct _CM_KEY_HASH * PCM_KEY_HASH

typedef struct _CM_KEY_INDEX * PCM_KEY_INDEX

| Referenced by CmpCheckKey().

typedef struct _CM_KEY_NODE * PCM_KEY_NODE

typedef struct _CM_KEY_REFERENCE * PCM_KEY_REFERENCE

typedef struct _CM_KEY_SECURITY * PCM_KEY_SECURITY

| Referenced by CmpValidateHiveSecurityDescriptors().

typedef struct _CM_KEY_VALUE * PCM_KEY_VALUE

| Referenced by CmEnumerateValueKey().

typedef struct _CM_NAME_CONTROL_BLOCK * PCM_NAME_CONTROL_BLOCK

typedef struct _CM_NAME_HASH * PCM_NAME_HASH

typedef union _KEY_INFORMATION * PKEY_INFORMATION

| Referenced by CmQueryKey().

typedef union _KEY_VALUE_INFORMATION * PKEY_VALUE_INFORMATION

typedef PCM_CACHED_VALUE* PPCM_CACHED_VALUE

| Definition at line 604 of file cmdata.h. Referenced by CmEnumerateValueKey().

typedef enum _SUBKEY_SEARCH_TYPE SUBKEY_SEARCH_TYPE

## Enumeration Type Documentation

enum _CMP_COPY_TYPE

Enumeration values:

  Copy |
  Sync |
  Merge |

Definition at line 312 of file cmdata.h.

    00312                             {
    00313     Copy,
    00314     Sync,
    00315     Merge
    00316 } CMP_COPY_TYPE;

enum _NODE_TYPE

Enumeration values:

  KeyBodyNode |
  KeyValueNode |

Definition at line 306 of file cmdata.h.

    00306                         {
    00307     KeyBodyNode,
    00308     KeyValueNode
    00309 } NODE_TYPE;

enum _SUBKEY_SEARCH_TYPE

Enumeration values:

  SearchIfExist |
  SearchAndDeref |
  SearchAndCount |

Definition at line 318 of file cmdata.h.

    00318                                  {
    00319     SearchIfExist,
    00320     SearchAndDeref,
    00321     SearchAndCount
    00322 } SUBKEY_SEARCH_TYPE;