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);
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);
273 DPRINT1(
"CmpRemoveFromHiveFileList: Opening of the hive list failed, status = 0x%08lx\n",
Status);
#define OBJ_NAME_PATH_SEPARATOR
BOOLEAN NTAPI CmpGetHiveName(IN PCMHIVE Hive, OUT PUNICODE_STRING HiveName)
VOID NTAPI CmpRemoveFromHiveFileList(IN PCMHIVE Hive)
NTSTATUS NTAPI CmpAddToHiveFileList(IN PCMHIVE Hive)
UNICODE_STRING HiveListValueName
#define HvReleaseCell(Hive, Cell)
VOID NTAPI CmpCopyCompressedName(OUT PWCHAR Destination, IN ULONG DestinationLength, IN PWCHAR Source, IN ULONG SourceLength)
USHORT NTAPI CmpCompressedNameSize(IN PWCHAR Name, IN ULONG Length)
#define HvGetCell(Hive, Cell)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
#define ExAllocatePoolWithTag(hernya, size, tag)
NTSYSAPI NTSTATUS NTAPI ZwDeleteValueKey(__in IN HANDLE Key, __in IN PUNICODE_STRING ValueName)
#define HFILE_TYPE_PRIMARY
#define OBJ_KERNEL_HANDLE
#define OBJ_CASE_INSENSITIVE
#define ExFreePoolWithTag(_P, _T)
#define InitializeObjectAttributes(p, n, a, r, s)
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
#define REG_OPTION_VOLATILE
_In_ ULONG _In_ ULONG _In_ ULONG Length
NTSTATUS NTAPI ObCloseHandle(IN HANDLE Handle, IN KPROCESSOR_MODE AccessMode)
#define STATUS_BUFFER_OVERFLOW
union _CELL_DATA::@4349 u
WCHAR Name[ANYSIZE_ARRAY]
#define RTL_CONSTANT_STRING(s)
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_INSUFFICIENT_RESOURCES