ViCheckMdlLength
UINT64 __stdcall ViCheckMdlLength(_MDL *Mdl, UINT64 Offset, UINT64 Length){
UINT64 ByteCount;
unsigned int v5;
unsigned int v6;
if( !(_DWORD)Length )
return 0i64;
if( Mdl )
{
do
{
ByteCount = Mdl->ByteCount;
if( Offset <= ByteCount )
break;
Mdl = Mdl->Next;
Offset -= ByteCount;
}
while( Mdl );
while( Mdl && (_DWORD)Length )
{
v5 = Mdl->ByteCount;
Mdl = Mdl->Next;
v6 = v5 - Offset;
if( v6 >= (unsigned int)Length )
v6 = Length;
LODWORD(Length) = Length - v6;
LODWORD(Offset) = 0;
}
}
return(unsigned int)Length;
}Referenced by:
VfBuildScatterGatherList
VfBuildScatterGatherListEx
VfGetScatterGatherList
VfGetScatterGatherListEx
VfMapTransfer
VfMapTransferEx