HalpQueryIdPdo
NTSTATUS __stdcall HalpQueryIdPdo(_DEVICE_OBJECT *DeviceObject, _BUS_QUERY_ID_TYPE IdType, WCHAR **BusQueryId){
NTSTATUS result;
const wchar_t *v5;
unsigned __int64 v6;
VOID **PoolWithTag;
WCHAR *v8;
if( IdType < 0 )
return -1073741637;
if( IdType <= 1 )
{
if( *((_DWORD *)DeviceObject->DeviceExtension + 8) == 129 )
{
v5 = L"ACPI_HAL\\PNP0C08";
v6 = 52i64;
}
else
{
if( *((_DWORD *)DeviceObject->DeviceExtension + 8) != 131 )
return -1073741637;
v5 = L"ACPI_HAL\\UEFI";
v6 = 28i64;
}
}
else
{
if( IdType != 3 )
return -1073741637;
v5 = L"0";
v6 = 4i64;
}
PoolWithTag = ExAllocatePoolWithTag(1ui64, v6 + 2, 543973704i64);
v8 = (WCHAR *)PoolWithTag;
if( !PoolWithTag )
return -1073741670;
memmove(PoolWithTag, v5, v6);
result = 0;
v8[v6 >> 1] = 0;
*BusQueryId = v8;
return result;
}Referenced by:
HalpDispatchPnp