#include "ntoskrnl.h"
#include "debug.h"
Go to the source code of this file.
◆ NDEBUG
◆ CmpAddToHiveFileList()
Definition at line 130 of file cmhvlist.c.
160 DPRINT1(
"CmpAddToHiveFileList: Creation or opening of the hive list failed, status = 0x%08lx\n",
Status);
168 DPRINT1(
"CmpAddToHiveFileList: Unable to retrieve the hive name\n");
180 sizeof(DummyNameInfo),
184 DPRINT1(
"CmpAddToHiveFileList: Hive file name size query failed, status = 0x%08lx\n",
Status);
191 if (FileNameInfo ==
NULL)
214 DPRINT1(
"CmpAddToHiveFileList: Hive file name query failed, status = 0x%08lx\n",
Status);
235 DPRINT1(
"CmpAddToHiveFileList: Setting of entry in the hive list failed, status = 0x%08lx\n",
Status);
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
BOOLEAN NTAPI CmpGetHiveName(IN PCMHIVE Hive, OUT PUNICODE_STRING HiveName)
#define STATUS_INSUFFICIENT_RESOURCES
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define OBJ_CASE_INSENSITIVE
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
UNICODE_STRING HiveListValueName
#define OBJ_KERNEL_HANDLE
struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
#define NT_SUCCESS(StatCode)
#define ExAllocatePoolWithTag(hernya, size, tag)
NTSTATUS NTAPI ObCloseHandle(IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
#define STATUS_BUFFER_OVERFLOW
#define HFILE_TYPE_PRIMARY
#define InitializeObjectAttributes(p, n, a, r, s)
#define ExFreePoolWithTag(_P, _T)
#define REG_OPTION_VOLATILE
Referenced by CmInitSystem1(), CmLoadKey(), and CmpInitializeHiveList().
◆ CmpGetHiveName()
Definition at line 24 of file cmhvlist.c.
29 ULONG ParentNameSize, LinkNameSize;
35 RootCell = Hive->Hive.BaseBlock->RootCell;
36 RootData =
HvGetCell(&Hive->Hive, RootCell);
37 if (!RootData)
return FALSE;
48 if (!LinkData)
return FALSE;
50 if (!ParentData)
return FALSE;
75 NameSize = RegistryName.
Length + ParentNameSize +
sizeof(
WCHAR) + LinkNameSize;
79 if (!HiveName->Buffer)
82 DPRINT1(
"CmpGetHiveName: Unable to allocate memory\n");
87 HiveName->Length = HiveName->MaximumLength = (
USHORT)NameSize;
106 p += ParentNameSize /
sizeof(
WCHAR);
WCHAR Name[ANYSIZE_ARRAY]
#define HvReleaseCell(h, c)
union _CELL_DATA::@4074 u
#define OBJ_NAME_PATH_SEPARATOR
VOID NTAPI CmpCopyCompressedName(OUT PWCHAR Destination, IN ULONG DestinationLength, IN PWCHAR Source, IN ULONG SourceLength)
PVOID CMAPI HvGetCell(PHHIVE RegistryHive, HCELL_INDEX CellOffset)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define RtlCopyMemory(Destination, Source, Length)
USHORT NTAPI CmpCompressedNameSize(IN PWCHAR Name, IN ULONG Length)
#define RTL_CONSTANT_STRING(s)
Referenced by CmpAddToHiveFileList(), and CmpRemoveFromHiveFileList().
◆ CmpRemoveFromHiveFileList()
Definition at line 254 of file cmhvlist.c.
273 DPRINT1(
"CmpRemoveFromHiveFileList: Opening of the hive list failed, status = 0x%08lx\n",
Status);
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
BOOLEAN NTAPI CmpGetHiveName(IN PCMHIVE Hive, OUT PUNICODE_STRING HiveName)
#define OBJ_CASE_INSENSITIVE
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
UNICODE_STRING HiveListValueName
NTSYSAPI NTSTATUS NTAPI ZwDeleteValueKey(__in IN HANDLE Key, __in IN PUNICODE_STRING ValueName)
#define OBJ_KERNEL_HANDLE
#define NT_SUCCESS(StatCode)
NTSTATUS NTAPI ObCloseHandle(IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
#define InitializeObjectAttributes(p, n, a, r, s)
#define ExFreePoolWithTag(_P, _T)
Referenced by CmUnloadKey().
◆ HiveListValueName