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