HalpExtBuildResourceIdString

NTSTATUS __stdcall HalpExtBuildResourceIdString(
        UINT64 VendorId,
        UINT64 SubvendorId,
        UINT64 DeviceId,
        UINT64 SubdeviceId,
        UINT64 Revision,
        UINT64 Instance,
        UINT64 Uid,
        UINT64 ResourceIdLength,
        WCHAR *ResourceId){
  int v9; 
  int v10; 
  int v11; 
  int v13; 
  int v14; 
  WCHAR Dst[8]; 
  int v16; 
  __int16 v17; 

  v9 = SubvendorId;
  v14 = SubvendorId;
  v10 = (unsigned __int16)SubdeviceId;
  v16 = 0;
  v17 = 0;
  v11 = (unsigned __int16)DeviceId;
  v13 = VendorId;
  *(_OWORD *)Dst = 0i64;
  if( (_WORD)Instance )
  {
    swprintf_s(Dst, 0xBui64, (WCHAR *)L"INST_%04x&", (unsigned __int16)Instance);
    LODWORD(VendorId) = v13;
    v9 = v14;
  }
  if( !(_DWORD)VendorId )
    return -1073741823;
  if( v9 )
    swprintf_s(
      ResourceId,
      (unsigned int)ResourceIdLength,
      (WCHAR *)L"VEN_%.4hs&DEV_%04x&SUBVEN_%.4hs&SUBDEV_%04x&REV_%04x&%lsUID_%08x",
      &v13,
      v11,
      &v14,
      v10,
      (unsigned __int16)Revision,
      Dst,
      Uid);
  else
    swprintf_s(
      ResourceId,
      (unsigned int)ResourceIdLength,
      (WCHAR *)L"VEN_%.4hs&DEV_%04x&SUBDEV_%04x&REV_%04x&%lsUID_%08x",
      &v13,
      v11,
      v10,
      (unsigned __int16)Revision,
      Dst,
      Uid);
  return 0;
}

Referenced by:

ExtEnvRegisterIommu
HalpExtGetRegisteredResourceIdString
HalpInterruptBuildKnownResourceIdString
HalpRegisterDmaController
HalpTimerBuildKnownResourceIdString