RtlpGetNameFromLangInfoNode
NTSTATUS __stdcall RtlpGetNameFromLangInfoNode(
_MUIREGISTRYINFO *RegInfo,
_MUILANGINFO *LangInfoNode,
_UNICODE_STRING *uString){
NTSTATUS v3;
__int64 LangNameIndex;
__int64 v6;
unsigned __int16 Length;
INT64 LangId;
_UNICODE_STRING DestinationString;
v3 = 0;
if( RegInfo && LangInfoNode && uString )
{
LangNameIndex = LangInfoNode->LangNameIndex;
if( (__int16)LangNameIndex <= 0 )
{
LangId = LangInfoNode->LangId;
if( (((_WORD)LangId - 4096) & 0xFBFF) != 0 && RtlLCIDToCultureName(LangId, (INT64)uString) )
return v3;
}
else
{
v6 = *((_QWORD *)RegInfo + 4);
DestinationString = 0i64;
RtlInitUnicodeString(
&DestinationString,
(PCWSTR)(*(_QWORD *)(v6 + 24) + 2i64 * *(__int16 *)(*(_QWORD *)(v6 + 16) + 2 * LangNameIndex)));
Length = DestinationString.Length;
if( DestinationString.Length <= uString->MaximumLength
&& RtlStringCbCopyW(uString->Buffer, uString->MaximumLength, DestinationString.Buffer) >= 0 )
{
uString->Length = Length;
return v3;
}
}
return -1073741595;
}
return -1073741811;
}Referenced by:
RtlpMuiRegValidateInstalled