HalpValidateInterface
INT64 __fastcall HalpValidateInterface(_SECONDARY_INTERRUPT_PROVIDER_INTERFACE *SecondaryIcInterface){
INT64 result;
char v2;
unsigned int GsivBase;
v2 = 0;
if( SecondaryIcInterface->Version == 1 )
{
if( SecondaryIcInterface->Reserved1 )
{
if( SecondaryIcInterface->Reserved2 )
{
if( SecondaryIcInterface->Reserved3 )
{
if( SecondaryIcInterface->Reserved4 )
{
if( SecondaryIcInterface->Reserved5 )
{
if( SecondaryIcInterface->DriverObject )
{
result = SecondaryIcInterface->GsivSize;
if( (_WORD)result )
{
GsivBase = SecondaryIcInterface->GsivBase;
if( GsivBase >= SecondaryGsivRangeStart
&& GsivBase + (unsigned int)result <= SecondaryGsivRangeSize + SecondaryGsivRangeStart )
{
v2 = 1;
}
}
}
}
}
}
}
}
}
LOBYTE(result) = v2;
return result;
}Referenced by:
HalpRegisterSecondaryIcInterface