CmpInitializeKeyNameString
VOID __fastcall CmpInitializeKeyNameString(_CM_KEY_NODE *Cell, _UNICODE_STRING *KeyName, _WCHAR *NameBuffer){
unsigned __int16 NameLength;
unsigned __int16 v5;
__int64 v6;
__int64 v7;
NameLength = Cell->NameLength;
if( (Cell->Flags & 0x20) != 0 )
{
v5 = 2 * NameLength;
KeyName->Length = v5;
if( v5 > 0x200u )
CmSiBugCheck((PVOID)0x31, 0i64, Cell, (PVOID)v5);
CmpCopyCompressedName(NameBuffer, 0x200ui64, Cell->Name, Cell->NameLength);
*(_QWORD *)(v6 + 8) = v7;
*(_WORD *)(v6 + 2) = 512;
}
else
{
KeyName->Length = NameLength;
KeyName->Buffer = Cell->Name;
KeyName->MaximumLength = *((_WORD *)Cell + 26);
}
}Referenced by:
CmpCopySyncTree2
CmpSyncSubKeysAfterDelete