ReactOS 0.4.15-dev-7788-g1ad9096
cmdata.h
Go to the documentation of this file.
1/*
2 * PROJECT: Registry manipulation library
3 * LICENSE: GPL - See COPYING in the top level directory
4 * COPYRIGHT: Copyright 2005 Filip Navara <navaraf@reactos.org>
5 * Copyright 2001 - 2005 Eric Kohl
6 */
7
8#pragma once
9
10//
11// Key Types
12//
13#define CM_KEY_INDEX_ROOT 0x6972 // "ri"
14#define CM_KEY_INDEX_LEAF 0x696C // "li"
15#define CM_KEY_FAST_LEAF 0x666C // "lf"
16#define CM_KEY_HASH_LEAF 0x686C // "lh"
17
18//
19// Key Signatures
20//
21#define CM_KEY_NODE_SIGNATURE 0x6B6E // "nk"
22#define CM_LINK_NODE_SIGNATURE 0x6B6C // "lk"
23#define CM_KEY_SECURITY_SIGNATURE 0x6B73 // "sk"
24#define CM_KEY_VALUE_SIGNATURE 0x6B76 // "vk"
25#define CM_BIG_DATA_SIGNATURE 0x6264 // "db"
26
27//
28// CM_KEY_NODE Flags
29//
30#define KEY_IS_VOLATILE 0x0001
31#define KEY_HIVE_EXIT 0x0002
32#define KEY_HIVE_ENTRY 0x0004
33#define KEY_NO_DELETE 0x0008
34#define KEY_SYM_LINK 0x0010
35#define KEY_COMP_NAME 0x0020
36#define KEY_PREDEF_HANDLE 0x0040
37#define KEY_VIRT_MIRRORED 0x0080
38#define KEY_VIRT_TARGET 0x0100
39#define KEY_VIRTUAL_STORE 0x0200
40
41//
42// CM_KEY_VALUE Flags
43//
44#define VALUE_COMP_NAME 0x0001
45
46//
47// CM_KEY_VALUE Types
48//
49#define CM_KEY_VALUE_SMALL 0x4
50#define CM_KEY_VALUE_BIG 0x3FD8
51#define CM_KEY_VALUE_SPECIAL_SIZE 0x80000000
52
53#include <pshpack1.h>
54
55//
56// For memory-mapped Hives
57//
58typedef struct _CM_VIEW_OF_FILE
59{
68
69//
70// Children of Key Nodes
71//
72typedef struct _CHILD_LIST
73{
77
78//
79// Node Key Reference to Parents
80//
81typedef struct _CM_KEY_REFERENCE
82{
86
87//
88// Node Key
89//
90typedef struct _CM_KEY_NODE
91{
98 union
99 {
100 struct
101 {
104 };
106 };
118
119//
120// Value Key
121//
122typedef struct _CM_KEY_VALUE
123{
133
134//
135// Security Key
136//
137typedef struct _CM_KEY_SECURITY
138{
147
148//
149// Big Value Key
150//
151typedef struct _CM_BIG_DATA
152{
157
158#include <poppack.h>
159
160//
161// Generic Index Entry
162//
163typedef struct _CM_INDEX
164{
166 union
167 {
170 };
172
173//
174// Key Index
175//
176typedef struct _CM_KEY_INDEX
177{
182
183//
184// Fast/Hash Key Index
185//
186typedef struct _CM_KEY_FAST_INDEX
187{
192
193//
194// Cell Data
195//
196typedef struct _CELL_DATA
197{
198 union
199 {
207 } u;
struct _CELL_DATA * PCELL_DATA
struct _CM_KEY_INDEX CM_KEY_INDEX
struct _CM_KEY_REFERENCE CM_KEY_REFERENCE
struct _CM_KEY_NODE * PCM_KEY_NODE
struct _CM_KEY_SECURITY CM_KEY_SECURITY
struct _CM_KEY_REFERENCE * PCM_KEY_REFERENCE
struct _CM_INDEX CM_INDEX
struct _CM_KEY_VALUE * PCM_KEY_VALUE
struct _CM_VIEW_OF_FILE * PCM_VIEW_OF_FILE
struct _CHILD_LIST * PCHILD_LIST
struct _CM_BIG_DATA * PCM_BIG_DATA
struct _CM_BIG_DATA CM_BIG_DATA
struct _CHILD_LIST CHILD_LIST
struct _CM_KEY_SECURITY * PCM_KEY_SECURITY
struct _CELL_DATA CELL_DATA
struct _CM_KEY_VALUE CM_KEY_VALUE
struct _CM_KEY_FAST_INDEX * PCM_KEY_FAST_INDEX
struct _CM_INDEX * PCM_INDEX
struct _CM_KEY_FAST_INDEX CM_KEY_FAST_INDEX
struct _CM_KEY_INDEX * PCM_KEY_INDEX
struct _CM_VIEW_OF_FILE CM_VIEW_OF_FILE
struct _CM_KEY_NODE CM_KEY_NODE
#define HTYPE_COUNT
Definition: hivedata.h:83
ULONG HCELL_INDEX
Definition: hivedata.h:105
unsigned short USHORT
Definition: pedump.c:61
HCELL_INDEX KeyList[ANYSIZE_ARRAY]
Definition: cmdata.h:205
CM_KEY_VALUE KeyValue
Definition: cmdata.h:201
CM_KEY_SECURITY KeySecurity
Definition: cmdata.h:202
WCHAR KeyString[ANYSIZE_ARRAY]
Definition: cmdata.h:206
union _CELL_DATA::@4298 u
CM_BIG_DATA ValueData
Definition: cmdata.h:204
CM_KEY_NODE KeyNode
Definition: cmdata.h:200
CM_KEY_INDEX KeyIndex
Definition: cmdata.h:203
HCELL_INDEX List
Definition: cmdata.h:75
ULONG Count
Definition: cmdata.h:74
HCELL_INDEX List
Definition: cmdata.h:155
USHORT Count
Definition: cmdata.h:154
USHORT Signature
Definition: cmdata.h:153
UCHAR NameHint[4]
Definition: cmdata.h:168
ULONG HashKey
Definition: cmdata.h:169
HCELL_INDEX Cell
Definition: cmdata.h:165
USHORT Signature
Definition: cmdata.h:188
USHORT Signature
Definition: cmdata.h:178
USHORT Count
Definition: cmdata.h:179
USHORT Signature
Definition: cmdata.h:92
ULONG Spare
Definition: cmdata.h:95
CM_KEY_REFERENCE ChildHiveReference
Definition: cmdata.h:105
HCELL_INDEX Parent
Definition: cmdata.h:96
HCELL_INDEX SubKeyLists[HTYPE_COUNT]
Definition: cmdata.h:102
ULONG MaxValueNameLen
Definition: cmdata.h:111
ULONG MaxNameLen
Definition: cmdata.h:109
ULONG SubKeyCounts[HTYPE_COUNT]
Definition: cmdata.h:97
HCELL_INDEX Security
Definition: cmdata.h:107
USHORT NameLength
Definition: cmdata.h:114
USHORT ClassLength
Definition: cmdata.h:115
ULONG MaxClassLen
Definition: cmdata.h:110
HCELL_INDEX Class
Definition: cmdata.h:108
ULONG MaxValueDataLen
Definition: cmdata.h:112
CHILD_LIST ValueList
Definition: cmdata.h:103
USHORT Flags
Definition: cmdata.h:93
ULONG WorkVar
Definition: cmdata.h:113
LARGE_INTEGER LastWriteTime
Definition: cmdata.h:94
PHHIVE KeyHive
Definition: cmdata.h:84
HCELL_INDEX KeyCell
Definition: cmdata.h:83
ULONG DescriptorLength
Definition: cmdata.h:144
HCELL_INDEX Flink
Definition: cmdata.h:141
ULONG ReferenceCount
Definition: cmdata.h:143
USHORT Reserved
Definition: cmdata.h:140
HCELL_INDEX Blink
Definition: cmdata.h:142
USHORT Signature
Definition: cmdata.h:139
SECURITY_DESCRIPTOR_RELATIVE Descriptor
Definition: cmdata.h:145
USHORT Signature
Definition: cmdata.h:124
ULONG Type
Definition: cmdata.h:128
HCELL_INDEX Data
Definition: cmdata.h:127
USHORT Spare
Definition: cmdata.h:130
USHORT NameLength
Definition: cmdata.h:125
USHORT Flags
Definition: cmdata.h:129
ULONG DataLength
Definition: cmdata.h:126
LIST_ENTRY LRUViewList
Definition: cmdata.h:60
ULONG FileOffset
Definition: cmdata.h:62
PULONG_PTR ViewAddress
Definition: cmdata.h:64
LIST_ENTRY PinViewList
Definition: cmdata.h:61
ULONG UseCount
Definition: cmdata.h:66
ULONG Size
Definition: cmdata.h:63
Definition: typedefs.h:120
uint32_t * PULONG_PTR
Definition: typedefs.h:65
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFCMRESLIST List
Definition: wdfresource.h:550
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180