CmpKeyFullNameLength
INT64 __fastcall CmpKeyFullNameLength(_CM_KEY_CONTROL_BLOCK *Kcb){
unsigned int v1;
_CM_NAME_CONTROL_BLOCK *NameBlock;
int NameLength;
v1 = 0;
while( Kcb )
{
if( (Kcb->_bf_b8 & 0x40000) != 0 && Kcb->ParentKcb )
{
Kcb = Kcb->ParentKcb;
}
else
{
NameBlock = Kcb->NameBlock;
NameLength = NameBlock->NameHash.NameLength;
if( (*(_DWORD *)NameBlock & 1) != 0 )
NameLength *= 2;
Kcb = Kcb->ParentKcb;
v1 += NameLength + 2;
}
}
return v1;
}Referenced by:
CmpConstructNameFromKcbNameBlocks
CmpConstructNameFromKeyNodes
CmpCreateKeyControlBlock
CmpDoWritethroughReparse