VfBuildScatterGatherListEx

__int64 __fastcall VfBuildScatterGatherListEx(
        ULONG_PTR a1,
        __int64 a2,
        __int64 a3,
        __int64 *a4,
        unsigned __int64 a5,
        unsigned int a6,
        int a7,
        __int64 a8,
        __int64 a9,
        char a10,
        __int64 a11,
        int a12,
        __int64 a13,
        __int64 a14,
        __int64 a15){
  __int64(__fastcall *v19)(ULONG_PTR, __int64, __int64, __int64 *, unsigned __int64, unsigned int, int, __int64, __int64, char, __int64, int, __int64, __int64, __int64); 
  INT64 v20; 
  LIST_ENTRY *AdapterInformationInternal; 
  unsigned int v23; 
  unsigned int v24; 
  int v25; 
  unsigned int v26; 
  UINT64 v27; 
  __int64(__fastcall *v28)(ULONG_PTR, __int64, __int64, __int64 *, unsigned __int64, unsigned int, int, __int64, __int64, char, __int64, int, __int64, __int64, __int64); 
  LODWORD(v19) = ViGetRealDmaOperation((_DMA_ADAPTER *)a1, 0xC8ui64);
  LOBYTE(v20) = 1;
  v28 = v19;
  AdapterInformationInternal = ViGetAdapterInformationInternal((DMA_ADAPTER *)a1, v20);
  if( AdapterInformationInternal )
  {
    VF_ASSERT_IRQL(2u);
    if( !a4 )
      return 3221225485i64;
    _InterlockedIncrement((volatile signed __int32 *)&AdapterInformationInternal[10].Flink + 1);
    _InterlockedIncrement((volatile signed __int32 *)&AdapterInformationInternal[10].Blink);
    VERIFY_BUFFER_LOCKED((MDL *)a4);
    v23 = ViCheckMdlLength((MDL *)a4, a5, a6);
    if( v23 )
    {
      v24 = v23;
      ViHalPreprocessOptions(
        &dword_140C12C9C,
        (PSTR)"The provided MDL is not sufficient to satisfy the requested length",
        0x24ui64,
        v23,
        0i64,
        0i64,
        v27);
      VfReportIssueWithOptions(0xE6ui64, 0x24ui64, v24, 0i64, 0i64, &dword_140C12C9C);
    }
  }
  v25 = v28(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
  v26 = v25;
  if( AdapterInformationInternal )
  {
    if( v25 < 0 )
      DECREMENT_SCATTER_GATHER_LISTS((__int64)AdapterInformationInternal);
  }
  return v26;
}

Referenced by:

No references.