IopGetRegistryKeyInformation
NTSTATUS __stdcall IopGetRegistryKeyInformation(PVOID KeyHandle, _KEY_FULL_INFORMATION **Information){
NTSTATUS result;
_KEY_FULL_INFORMATION *Pool_1;
int v6;
UINT64 Length;
LODWORD(Length) = 0;
result = ZwQueryKey(KeyHandle, KeyFullInformation, 0i64, 0i64, &Length);
if( result == -1073741789 || result == -2147483643 )
{
Pool_1 = (_KEY_FULL_INFORMATION *)IopVerifierExAllocatePool_1(0x200ui64, (unsigned int)Length);
if( Pool_1 )
{
v6 = ZwQueryKey(KeyHandle, KeyFullInformation, Pool_1, (unsigned int)Length, &Length);
if( v6 < 0 )
{
ExFreePoolWithTag(Pool_1, 0);
return v6;
}
else
{
*Information = Pool_1;
return 0;
}
}
else
{
return -1073741670;
}
}
return result;
}Referenced by:
PiDevCfgCopyDeviceKey
pIoQueryBusDescription
pIoQueryDeviceDescription