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.