VfAllocateCommonBufferEx

VOID *__fastcall VfAllocateCommonBufferEx(
        _DMA_ADAPTER *DmaAdapter,
        _LARGE_INTEGER *MaximumAddress,
        UINT64 Length,
        _LARGE_INTEGER *LogicalAddress,
        UINT8 CacheEnabled,
        UINT64 PreferredNode){
  unsigned int v7; 
  __int64(__fastcall *v10)(_DMA_ADAPTER *, _LARGE_INTEGER *, _QWORD, _LARGE_INTEGER *, int, _DWORD); 
  INT64 v11; 
  __int64(__fastcall *v12)(_DMA_ADAPTER *, _LARGE_INTEGER *, _QWORD, _LARGE_INTEGER *, int, _DWORD); 
  LIST_ENTRY *AdapterInformationInternal; 
  VOID *result; 
  int v15; 
  UINT64 v16; 
  v7 = Length;
  LODWORD(v10) = ViGetRealDmaOperation(DmaAdapter, 0x98ui64);
  LOBYTE(v11) = 1;
  v12 = v10;
  AdapterInformationInternal = ViGetAdapterInformationInternal(DmaAdapter, v11);
  if( (MmVerifierData & 0x4000000) != 0 && MaximumAddress && MaximumAddress->QuadPart < 0x100000000ui64 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0x141ui64, MaximumAddress->QuadPart, v7, 0i64, v16);
  LOBYTE(v15) = CacheEnabled;
  result = (VOID *)v12(DmaAdapter, MaximumAddress, v7, LogicalAddress, v15, PreferredNode);
  if( result )
  {
    if( AdapterInformationInternal )
      _InterlockedIncrement((volatile signed __int32 *)&AdapterInformationInternal[10].Blink + 1);
  }
  return result;
}

Referenced by:

No references.