KsepRegistryQueryKeyInformation
VOID __fastcall KsepRegistryQueryKeyInformation(
VOID *KeyHandle,
UINT64 *MaxValueNameLength,
UINT64 *MaxValueDataLength){
NTSTATUS v6;
unsigned int *Paged;
UINT64 Size;
LODWORD(Size) = 0;
*MaxValueNameLength = 0i64;
*MaxValueDataLength = 0i64;
v6 = ZwQueryKey(KeyHandle, KeyFullInformation, 0i64, 0i64, &Size);
if( v6 == -2147483643 || v6 == -1073741789 )
{
Paged = (unsigned int *)KsepPoolAllocatePaged((unsigned int)Size);
if( Paged )
{
if( ZwQueryKey(KeyHandle, KeyFullInformation, Paged, (unsigned int)Size, &Size) >= 0 )
{
*MaxValueNameLength = Paged[9] + 2i64;
*MaxValueDataLength = Paged[10];
}
KsepPoolFreePaged(Paged);
}
}
}Referenced by:
KsepDbQueryRegistryDeviceDataList