HalpDmaIndexToTranslationEntry
_HALP_DMA_TRANSLATION_ENTRY *__stdcall HalpDmaIndexToTranslationEntry(
_HALP_DMA_ADAPTER_OBJECT *Adapter,
_HALP_DMA_TRANSLATION_BUFFER **TranslationBufferOut){
_HALP_DMA_TRANSLATION_BUFFER **v2;
_HALP_DMA_TRANSLATION_BUFFER *ContiguousTranslations;
unsigned int EntryCount;
ContiguousTranslations = Adapter->ContiguousTranslations;
while( 1 )
{
if( !ContiguousTranslations )
return 0i64;
EntryCount = ContiguousTranslations->EntryCount;
if( (unsigned int)TranslationBufferOut < EntryCount )
break;
ContiguousTranslations = ContiguousTranslations->Next;
LODWORD(TranslationBufferOut) = (_DWORD)TranslationBufferOut - EntryCount;
}
if( v2 )
*v2 = ContiguousTranslations;
return &ContiguousTranslations->Entries[(unsigned int)TranslationBufferOut];
}Referenced by:
HalpDmaAllocateScatterPagesFromContiguousPoolAtHighLevelV2
HalpDmaAllocateScatterPagesFromContiguousPoolAtHighLevelV3
HalpDmaAllocateScatterPagesFromContiguousPoolV2
HalpDmaAllocateScatterPagesFromContiguousPoolV3
HalpDmaLinkContiguousTranslations