#include "cmlib.h"
#include <debug.h>
Go to the source code of this file.
◆ NDEBUG
◆ HvHiveWillShrink()
◆ HvpWriteHive()
Definition at line 147 of file hivewrt.c.
150{
156
160
161 DPRINT(
"HvpWriteHive called\n");
162
165 {
167 }
168
169
174
175
181 {
183 }
184
185 BlockIndex = 0;
187 {
188 if (OnlyDirty)
189 {
190 LastIndex = BlockIndex;
192 if (BlockIndex == ~0
U || BlockIndex < LastIndex)
193 {
194 break;
195 }
196 }
197
200
201
205 {
207 }
208
209 BlockIndex++;
210 }
211
214 {
215 DPRINT(
"FileFlush failed\n");
216 }
217
218
222
223
229 {
231 }
232
235 {
236 DPRINT(
"FileFlush failed\n");
237 }
238
240}
_In_ PFCB _In_ LONGLONG FileOffset
ULONG CMAPI HvpHiveHeaderChecksum(PHBASE_BLOCK HiveHeader)
#define HFILE_TYPE_PRIMARY
NTSYSAPI ULONG WINAPI RtlFindSetBits(PCRTL_BITMAP, ULONG, ULONG)
_In_ ULONG _In_ ULONG _In_ ULONG Length
PFILE_FLUSH_ROUTINE FileFlush
PFILE_WRITE_ROUTINE FileWrite
DUAL Storage[HTYPE_COUNT]
Referenced by HvSyncHive(), and HvWriteHive().
◆ HvpWriteLog()
Definition at line 13 of file hivewrt.c.
15{
25 static ULONG PrintCount = 0;
26
27 if (PrintCount++ == 0)
28 {
30 }
32
36
37 DPRINT(
"HvpWriteLog called\n");
38
41 {
43 }
44
48
50
53 {
55 }
56
57
62
63
69
70
75
77 {
79 }
80
81
83 BlockIndex = 0;
85 {
86 LastIndex = BlockIndex;
88 if (BlockIndex == ~0
U || BlockIndex < LastIndex)
89 {
90 break;
91 }
92
94
95
99 {
101 }
102
103 BlockIndex++;
105 }
106
109 {
110 DPRINT(
"FileSetSize failed\n");
112 }
113
114
117 {
118 DPRINT(
"FileFlush failed\n");
119 }
120
121
125
126
132 {
134 }
135
136
139 {
140 DPRINT(
"FileFlush failed\n");
141 }
142
144}
#define ROUND_UP(n, align)
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
#define HV_LOG_HEADER_SIZE
PFILE_SET_SIZE_ROUTINE FileSetSize
PALLOCATE_ROUTINE Allocate
#define RtlCopyMemory(Destination, Source, Length)
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Referenced by HvSyncHive().
◆ HvSyncHive()
Definition at line 243 of file hivewrt.c.
245{
247
249 {
251 }
252
253
255
256
258 {
260 }
261
262
264 {
266 }
267
268
271
273}
#define KeQuerySystemTime(t)
static BOOLEAN CMAPI HvpWriteLog(PHHIVE RegistryHive)
static BOOLEAN CMAPI HvpWriteHive(PHHIVE RegistryHive, BOOLEAN OnlyDirty)
NTSYSAPI void WINAPI RtlClearAllBits(PRTL_BITMAP)
Referenced by CmFlushKey(), CmLoadKey(), CmpDoFlushAll(), and CmpDoFlushNextHive().
◆ HvWriteHive()