ViGetRealDmaOperation
NTSTATUS __stdcall ViGetRealDmaOperation(_DMA_ADAPTER *DmaAdapter, UINT64 AdapterInformationOffset){
__int64 v3;
LIST_ENTRY *AdapterInformationInternal;
_DMA_OPERATIONS *Flink;
__int64 v8;
UINT64 v9;
v3 = (unsigned int)AdapterInformationOffset;
if( ViVerifyDma && !DmaAdapter )
{
ViHalPreprocessOptions(
&byte_140C12D38,
(PSTR)"DMA adapters aren't supposed to be NULL anymore",
0x19ui64,
0i64,
0i64,
0i64,
v9);
VfReportIssueWithOptions(
0xE6ui64,
(unsigned int)((_DWORD)DmaAdapter + 25),
0i64,
0i64,
(unsigned __int64)DmaAdapter & v8,
&byte_140C12D38);
}
LOBYTE(AdapterInformationOffset) = 1;
AdapterInformationInternal = ViGetAdapterInformationInternal(DmaAdapter, AdapterInformationOffset);
if( AdapterInformationInternal )
Flink = (_DMA_OPERATIONS *)AdapterInformationInternal[3].Flink;
else
Flink = DmaAdapter->DmaOperations;
return *(_QWORD *)((char *)&Flink->Size + v3);
}Referenced by:
VfAllocateAdapterChannel
VfAllocateAdapterChannelEx
VfAllocateCommonBuffer
VfAllocateCommonBufferEx
VfAllocateCommonBufferVector
VfAllocateCommonBufferWithBounds
VfAllocateDomainCommonBuffer
VfBuildMdlFromScatterGatherList
VfBuildScatterGatherList
VfBuildScatterGatherListEx
VfCalculateScatterGatherListSize
VfCancelAdapterChannel
VfCancelMappedTransfer
VfConfigureAdapterChannel
VfFlushAdapterBuffers
VfFlushAdapterBuffersEx
VfFlushDmaBuffer
VfFreeAdapterChannel
VfFreeAdapterObject
VfFreeCommonBuffer
VfFreeCommonBufferFromVector
VfFreeCommonBufferVector
VfFreeMapRegisters
VfGetCommonBufferFromVectorByIndex
VfGetDmaAdapterInfo
VfGetDmaAlignment
VfGetDmaDomain
VfGetDmaTransferInfo
VfGetScatterGatherList
VfGetScatterGatherListEx
VfInitializeDmaTransferContext
VfJoinDmaDomain
VfLeaveDmaDomain
VfMapTransfer
VfMapTransferEx
VfPutDmaAdapter
VfPutScatterGatherList
VfReadDmaCounter