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