IopFindLegacyBusDeviceNode
_DEVICE_NODE *__stdcall IopFindLegacyBusDeviceNode(_INTERFACE_TYPE InterfaceType, UINT64 BusNumber){
_DEVICE_NODE *v2;
_INTERFACE_TYPE v4;
_QWORD **v5;
_QWORD *i;
v2 = (_DEVICE_NODE *)*(&PnpReplaceEvent + 831);
if( InterfaceType != PNPBus && (unsigned int)InterfaceType <= ACPIBus )
{
v4 = Isa;
if( InterfaceType != Eisa )
v4 = InterfaceType;
v5 = (_QWORD **)((char *)&PnpReplaceEvent + 16 * v4 + 5472);
for( i = *v5; i != v5; i = (_QWORD *)*i )
{
if( *((_DWORD *)i - 43) == (_DWORD)BusNumber )
return(_DEVICE_NODE *)(i - 78);
if( *((_DWORD *)i - 43) > (unsigned int)BusNumber )
return v2;
}
}
return v2;
}Referenced by:
IoTranslateBusAddress
IopChildToRootTranslation
IopDuplicateDetection
IopSetupArbiterAndTranslators
PnpReleaseResourcesInternal