VfAllocateCommonBuffer
VOID *__fastcall VfAllocateCommonBuffer(
_DMA_ADAPTER *DmaAdapter,
UINT64 Length,
_LARGE_INTEGER *LogicalAddress,
UINT8 CacheEnabled){
unsigned int v4;
__int64(__fastcall *v8)(_DMA_ADAPTER *, _QWORD, _LIST_ENTRY **, __int64);
INT64 v9;
__int64(__fastcall *v10)(_DMA_ADAPTER *, _QWORD, _LIST_ENTRY **, __int64);
LIST_ENTRY *AdapterInformationInternal;
__int64 v12;
VOID *result;
_LIST_ENTRY *retaddr;
v4 = Length;
LODWORD(v8) = ViGetRealDmaOperation(DmaAdapter, 0x10ui64);
LOBYTE(v9) = 1;
v10 = v8;
AdapterInformationInternal = ViGetAdapterInformationInternal(DmaAdapter, v9);
if( !AdapterInformationInternal
|| (VF_ASSERT_IRQL(0),
(result = ViSpecialAllocateCommonBuffer(
(__int64(__fastcall *)(_QWORD, _QWORD, _LIST_ENTRY **, __int64))v10,
(__int64)AdapterInformationInternal,
retaddr,
v4,
LogicalAddress,
CacheEnabled)) == 0i64) )
{
LOBYTE(v12) = CacheEnabled;
result = (VOID *)v10(DmaAdapter, v4, (_LIST_ENTRY **)LogicalAddress, v12);
if( result )
{
if( AdapterInformationInternal )
_InterlockedIncrement((volatile signed __int32 *)&AdapterInformationInternal[10].Blink + 1);
}
}
return result;
}Referenced by:
No references.