VfMapTransferEx
VOID __fastcall VfMapTransferEx(){
INT64 v0;
DMA_ADAPTER *v1;
__int64 v2;
UINT64 v3;
MDL *v4;
UINT64 v5;
__int64 v6;
_DMA_ADAPTER *v7;
UINT8 v8;
LIST_ENTRY *AdapterInformationInternal;
unsigned int v10;
unsigned int v11;
__int64(__fastcall *v12)(_DMA_ADAPTER *, MDL *, __int64, UINT64, int, unsigned int *, _DWORD, __int64, int, __int64, __int64);
int v13;
UINT64 v14;
int v15;
unsigned int *v16;
char v17;
__int64 v18;
int v19;
__int64 v20;
__int64 v21;
v4 = (MDL *)v0;
v5 = v3;
LOBYTE(v0) = 1;
v6 = v2;
v7 = v1;
AdapterInformationInternal = ViGetAdapterInformationInternal(v1, v0);
if( AdapterInformationInternal )
{
VF_ASSERT_MAX_IRQL(v8);
VERIFY_BUFFER_LOCKED(v4);
ViCheckAdapterBuffers((INT64)AdapterInformationInternal);
v10 = ViCheckMdlLength(v4, v5, *v16);
if( v10 )
{
v11 = v10;
ViHalPreprocessOptions(
&dword_140C12C94,
(PSTR)"The provided MDL is not sufficient to satisfy the requested length",
0x24ui64,
v10,
0i64,
0i64,
v14);
VfReportIssueWithOptions(0xE6ui64, 0x24ui64, v11, 0i64, 0i64, &dword_140C12C94);
}
}
LODWORD(v12) = ViGetRealDmaOperation(v7, 0xB8ui64);
LOBYTE(v14) = v17;
v13 = v12(v7, v4, v6, v5, v15, v16, v14, v18, v19, v20, v21);
if( AdapterInformationInternal )
{
if( v13 >= 0 )
INCREASE_MAPPED_TRANSFER_BYTE_COUNT((__int64)AdapterInformationInternal, *v16, 1);
}
}Referenced by:
No references.