31 NameLength = NameLength /
sizeof(
WCHAR);
32 for (
i = 0;
i < NameLength;
i++)
38 if ((
p >=
L'0') && (
p <=
L'9'))
43 else if ((
p >=
L'A') && (
p <=
L'F'))
46 IdCode =
p -
L'A' + 10;
48 else if ((
p >=
L'a') && (
p <=
L'f'))
51 IdCode =
p -
L'a' + 10;
60 if (IdCode >= 16)
break;
63 LangId = (LangId << 4) | (
LANGID)IdCode;
91 if (!NextName.
Length)
return CurrentCell;
97 if (CurrentCell ==
HCELL_NIL)
return CurrentCell;
109 HCELL_INDEX RootCell, BaseCell, KeyCell, ValueCell;
118 if (!SystemHiveData)
return;
159 while (ControlVector->KeyPath)
175 if (!ControlVector->BufferLength)
183 DataSize = *ControlVector->BufferLength;
219 if (ControlVector->Type)
228 if (ControlVector->BufferLength) *ControlVector->BufferLength =
Length;
270 DPRINT1(
"CmpSaveBootControlSet(%lu)\n", ControlSet);
LANGID PsDefaultUILanguageId
ULONG CmDefaultLanguageIdType
_In_ ULONG _In_ ULONG _In_ ULONG Length
WCHAR CmInstallUILanguageId[12]
IN BOOLEAN OUT PSTR Buffer
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 CmpWalkPath(IN PHHIVE SystemHive, IN HCELL_INDEX ParentCell, IN LPWSTR Path)
LCID PsDefaultSystemLocaleId
LCID PsDefaultThreadLocaleId
LANGID PsInstallUILanguageId
NTSTATUS NTAPI CmpSaveBootControlSet(IN USHORT ControlSet)
#define HvGetCell(Hive, Cell)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
struct _HBASE_BLOCK * PHBASE_BLOCK
VOID NTAPI CmpInitHiveViewList(IN PCMHIVE Hive)
static BOOLEAN CmpIsKeyValueSmall(OUT PULONG RealLength, IN ULONG Length)
struct _CM_KEY_NODE * PCM_KEY_NODE
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
LANGID NTAPI CmpConvertLangId(IN LPWSTR Name, IN ULONG NameLength)
#define NT_SUCCESS(StatCode)
_In_ GUID _In_ PVOID ValueData
BOOLEAN NTAPI CmpGetNextName(IN OUT PUNICODE_STRING RemainingName, OUT PUNICODE_STRING NextName, OUT PBOOLEAN LastName)
#define CM_KEY_VALUE_SMALL
#define LANGIDFROMLCID(l)
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,...
ULONG CmDefaultLanguageIdLength
VOID NTAPI CmpInitSecurityCache(IN PCMHIVE Hive)
ULONG CmInstallUILanguageIdLength
PRTL_UNICODE_STRING_BUFFER Path
WCHAR CmDefaultLanguageId[12]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define HFILE_TYPE_PRIMARY
HCELL_INDEX NTAPI CmpFindValueByName(IN PHHIVE Hive, IN PCM_KEY_NODE KeyNode, IN PCUNICODE_STRING Name)
struct _CM_KEY_VALUE * PCM_KEY_VALUE
VOID NTAPI CmGetSystemControlValues(IN PVOID SystemHiveData, IN PCM_SYSTEM_CONTROL_VECTOR ControlVector)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
#define RtlCopyMemory(Destination, Source, Length)
HCELL_INDEX NTAPI CmpFindSubKeyByName(IN PHHIVE Hive, IN PCM_KEY_NODE Parent, IN PCUNICODE_STRING SearchName)
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
PRELEASE_CELL_ROUTINE ReleaseCellRoutine
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
ULONG CmInstallUILanguageIdType