Go to the source code of this file.
|
static BOOLEAN | IsStringType (ULONG Type) |
|
NTSTATUS | LsapRegCloseKey (IN HANDLE KeyHandle) |
|
NTSTATUS | LsapRegCreateKey (IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName, IN ACCESS_MASK DesiredAccess, OUT HANDLE KeyHandle) |
|
NTSTATUS | LsapRegDeleteSubKey (IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName) |
|
NTSTATUS | LsapRegDeleteKey (IN HANDLE KeyHandle) |
|
NTSTATUS | LsapRegEnumerateSubKey (IN HANDLE KeyHandle, IN ULONG Index, IN ULONG Length, OUT LPWSTR Buffer) |
|
NTSTATUS | LsapRegOpenKey (IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName, IN ACCESS_MASK DesiredAccess, OUT HANDLE KeyHandle) |
|
NTSTATUS | LsapRegQueryKeyInfo (IN HANDLE KeyHandle, OUT PULONG SubKeyCount, OUT PULONG MaxSubKeyNameLength, OUT PULONG ValueCount) |
|
NTSTATUS | LsapRegDeleteValue (IN HANDLE KeyHandle, IN LPWSTR ValueName) |
|
NTSTATUS | LsapRegEnumerateValue (IN HANDLE KeyHandle, IN ULONG Index, OUT LPWSTR Name, IN OUT PULONG NameLength, OUT PULONG Type OPTIONAL, OUT PVOID Data OPTIONAL, IN OUT PULONG DataLength OPTIONAL) |
|
NTSTATUS | LsapRegQueryValue (IN HANDLE KeyHandle, IN LPWSTR ValueName, OUT PULONG Type OPTIONAL, OUT PVOID Data OPTIONAL, IN OUT PULONG DataLength OPTIONAL) |
|
NTSTATUS | LsapRegSetValue (HANDLE KeyHandle, LPWSTR ValueName, ULONG Type, LPVOID Data, ULONG DataLength) |
|
◆ IsStringType()
◆ LsapRegCloseKey()
◆ LsapRegCreateKey()
Definition at line 30 of file registry.c.
34{
38
40
44 ParentKeyHandle,
46
47
51 0,
53 0,
55}
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define OBJ_CASE_INSENSITIVE
#define InitializeObjectAttributes(p, n, a, r, s)
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
◆ LsapRegDeleteKey()
◆ LsapRegDeleteSubKey()
Definition at line 59 of file registry.c.
61{
66
72 ParentKeyHandle,
79
81
83
85}
#define NT_SUCCESS(StatCode)
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ PNDIS_STRING SubKeyName
NTSYSAPI NTSTATUS NTAPI NtOpenKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
Referenced by LsapDeleteDbObject(), and LsapDeleteObjectAttribute().
◆ LsapRegDeleteValue()
Definition at line 211 of file registry.c.
213{
215
218
221}
NTSYSAPI NTSTATUS NTAPI NtDeleteValueKey(IN HANDLE KeyHandle, IN PUNICODE_STRING ValueName)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
◆ LsapRegEnumerateSubKey()
Definition at line 96 of file registry.c.
100{
105
106
108 {
109
111
115 }
116
117
121 KeyInfo,
125 {
126
128 {
129
133
134
136 }
137 else
138 {
139
141 }
142 }
143
144
145 if (KeyInfo)
147
149}
_In_ ULONG _In_ BATTERY_QUERY_INFORMATION_LEVEL _In_ LONG _In_ ULONG _Out_ PULONG ReturnedLength
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
struct _KEY_BASIC_INFORMATION KEY_BASIC_INFORMATION
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define STATUS_BUFFER_OVERFLOW
#define RtlMoveMemory(Destination, Source, Length)
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
Referenced by LsapDeleteDbObject(), LsarEnumerateAccounts(), and LsarEnumerateAccountsWithUserRight().
◆ LsapRegEnumerateValue()
Definition at line 225 of file registry.c.
232{
237
239
240
245
246
248 if (ValueInfo ==
NULL)
250
251
255 ValueInfo,
259 {
261 {
262
264 {
265
269
270
272 }
273 else
274 {
275
277 goto done;
278 }
279 }
280
282 {
283
285 {
286
290
291
292
295 {
299 }
300 }
301 else
302 {
304 goto done;
305 }
306 }
307 }
308
309done:
311 {
314
315 if (NameLength !=
NULL)
317
320 }
321
322
323 if (ValueInfo)
325
327}
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
static BOOLEAN IsStringType(ULONG Type)
@ KeyValueFullInformation
#define FIELD_OFFSET(t, f)
◆ LsapRegOpenKey()
◆ LsapRegQueryKeyInfo()
Definition at line 176 of file registry.c.
180{
184
187
190 &FullInfoBuffer,
193 TRACE(
"NtQueryKey() returned status 0x%08lX\n",
Status);
196
197 if (SubKeyCount !=
NULL)
198 *SubKeyCount = FullInfoBuffer.
SubKeys;
199
200 if (MaxSubKeyNameLength !=
NULL)
201 *MaxSubKeyNameLength = FullInfoBuffer.
MaxNameLen;
202
203 if (ValueCount !=
NULL)
204 *ValueCount = FullInfoBuffer.
Values;
205
207}
NTSTATUS NTAPI NtQueryKey(IN HANDLE KeyHandle, IN KEY_INFORMATION_CLASS KeyInformationClass, OUT PVOID KeyInformation, IN ULONG Length, OUT PULONG ResultLength)
Referenced by LsarEnumerateAccounts(), and LsarEnumerateAccountsWithUserRight().
◆ LsapRegQueryValue()
◆ LsapRegSetValue()