106{
109 HCELL_INDEX RootCell, BaseCell, KeyCell, ValueCell;
116
117
118 if (!SystemHiveData) return;
119
120
124
125
130 SystemHiveData,
137 1,
140
141
143
144
146
147
151
152
157
158
159 while (ControlVector->KeyPath)
160 {
161
163
164
167 {
168
173 {
174
175 if (!ControlVector->BufferLength)
176 {
177
179 }
180 else
181 {
182
183 DataSize = *ControlVector->BufferLength;
184 }
185
186
188
189
191
192
194
195
197 {
198
199 if (IsSmallKey)
200 {
201
203 }
204 else
205 {
206
208 }
209
210
212
213
215 }
216
217
218 if (ControlVector->Type)
219 {
220
222 }
223 }
224 }
225
226
227 if (ControlVector->BufferLength) *ControlVector->BufferLength =
Length;
228
229
230 ControlVector++;
231 }
232
233
235 {
236
240 }
241 else
242 {
243
245 }
246
247
249 {
250
253 }
254 else
255 {
256
258 }
259
260
263}
HCELL_INDEX NTAPI CmpFindControlSet(_In_ PHHIVE SystemHive, _In_ HCELL_INDEX RootCell, _In_ PCUNICODE_STRING SelectKeyName, _Out_ PBOOLEAN AutoSelect)
Finds the corresponding "HKLM\SYSTEM\ControlSetXXX" system control set registry key,...
LANGID NTAPI CmpConvertLangId(IN LPWSTR Name, IN ULONG NameLength)
HCELL_INDEX NTAPI CmpWalkPath(IN PHHIVE SystemHive, IN HCELL_INDEX ParentCell, IN LPWSTR Path)
WCHAR CmInstallUILanguageId[12]
ULONG CmDefaultLanguageIdLength
ULONG CmDefaultLanguageIdType
WCHAR CmDefaultLanguageId[12]
ULONG CmInstallUILanguageIdLength
ULONG CmInstallUILanguageIdType
struct _CM_KEY_NODE * PCM_KEY_NODE
struct _CM_KEY_VALUE * PCM_KEY_VALUE
#define CM_KEY_VALUE_SMALL
HCELL_INDEX NTAPI CmpFindSubKeyByName(IN PHHIVE Hive, IN PCM_KEY_NODE Parent, IN PCUNICODE_STRING SearchName)
NTSTATUS CMAPI HvInitialize(PHHIVE RegistryHive, ULONG OperationType, ULONG HiveFlags, ULONG FileType, PVOID HiveData OPTIONAL, PALLOCATE_ROUTINE Allocate, PFREE_ROUTINE Free, PFILE_SET_SIZE_ROUTINE FileSetSize, PFILE_WRITE_ROUTINE FileWrite, PFILE_READ_ROUTINE FileRead, PFILE_FLUSH_ROUTINE FileFlush, ULONG Cluster OPTIONAL, PCUNICODE_STRING FileName OPTIONAL)
HCELL_INDEX NTAPI CmpFindValueByName(IN PHHIVE Hive, IN PCM_KEY_NODE KeyNode, IN PCUNICODE_STRING Name)
static BOOLEAN CmpIsKeyValueSmall(OUT PULONG RealLength, IN ULONG Length)
#define HvGetCell(Hive, Cell)
VOID NTAPI CmpInitHiveViewList(IN PCMHIVE Hive)
VOID NTAPI CmpInitSecurityCache(IN PCMHIVE Hive)
#define NT_SUCCESS(StatCode)
#define HFILE_TYPE_PRIMARY
struct _HBASE_BLOCK * PHBASE_BLOCK
_In_ GUID _In_ PVOID ValueData
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
_In_ ULONG _In_ ULONG _In_ ULONG Length
LANGID PsDefaultUILanguageId
LANGID PsInstallUILanguageId
LCID PsDefaultSystemLocaleId
LCID PsDefaultThreadLocaleId
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
#define LANGIDFROMLCID(l)
PRELEASE_CELL_ROUTINE ReleaseCellRoutine
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName