HalpGetAdapter
_ADAPTER_OBJECT *__stdcall HalpGetAdapter(
_DEVICE_DESCRIPTION *DeviceDescriptor,
_DEVICE_OBJECT *DeviceObject,
UINT64 *NumberOfMapRegisters){
_ADAPTER_OBJECT *v3;
CHAR v7;
__int64 v8;
unsigned int Version;
v3 = 0i64;
*(_DWORD *)NumberOfMapRegisters = 0;
if( !DeviceObject || (v7 = HalpAreDriversDmarCompatible(DeviceObject), v8 = 2i64, !v7) )
v8 = 0i64;
Version = DeviceDescriptor->Version;
if( DeviceDescriptor->Version <= 2 && !(_DWORD)v8 )
return HalGetAdapterV2(DeviceDescriptor, DeviceObject, NumberOfMapRegisters);
if( Version == 3 || Version == 2 && DeviceDescriptor->Master && (_DWORD)v8 == 2 )
return(_ADAPTER_OBJECT *)HalGetAdapterV3((const _UNICODE_STRING *)DeviceDescriptor, DeviceObject, (UINT64 *)v8);
return v3;
}Referenced by:
HalGetAdapter
HaliGetDmaAdapter