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