IopIrpHasValidCombinationOfExtensionTypes
UINT8 __stdcall IopIrpHasValidCombinationOfExtensionTypes(_IRP *Irp, UINT64 Type){
int v2;
_WORD *IrpExtension;
int v4;
__int16 v5;
v2 = Type;
if( (Irp->AllocationFlags & 0x80u) != 0 )
return 1;
IrpExtension = Irp->Tail.IrpExtension;
if( !IrpExtension )
return 1;
v4 = 1 << Type;
if( (v4 & 0xB2) == 0 )
return 1;
v5 = IrpExtension[1];
if( (v5 & 0xB2) == 0 || (v5 & 0xB2) == v4 )
return 1;
if( v2 != 1 && (v5 & 2) != 0 )
{
*((_QWORD *)IrpExtension + 5) = 0i64;
IrpExtension[1] = v5 & 0xFFFE;
return 1;
}
return 0;
}Referenced by:
IoSetAdapterCryptoEngineExtension
IoSetFsTrackOffsetState
IoSetFsZeroingOffsetRequired
IopPerfCallDriver