Макрос NdisMCompleteDmaTransfer (ndis.h)
Функция NdisMCompleteDmaTransfer указывает, что операция передачи DMA системы завершена. Он сбрасывает системный контроллер DMA при подготовке к дальнейшей передаче DMA.
Синтаксис
void NdisMCompleteDmaTransfer(
_S,
_H,
_B,
_O,
_L,
_M_
);
Параметры
_S
Указатель на указанную вызывающим переменную, в которой эта функция возвращает окончательное состояние передачи DMA, которое может быть одним из следующих:
NDIS_STATUS_SUCCESS
Данные были переданы и удалены в память узла или на устройство для поддержания целостности данных.
NDIS_STATUS_RESOURCES
Контроллер DMA был выпущен, но передача данных может быть несоответствующая.
_H
Дескриптор, возвращаемый при вызов е функции miniportInitializeExфункция NdisMRegisterDmaChannel.
_B
Указатель на дескриптор буфера, переданный ранее в NdisMSetupDmaTransfer.
_O
Смещение байтов, с которого началась передача. Это значение также было передано в NdisMSetupDmaTransfer.
_L
Длина в байтах передачи. Это значение также было передано в NdisMSetupDmaTransfer.
_M_
TRUE, если передача была из узла в сетевой адаптер, как, например, операция отправки.
Возвращаемое значение
Никакой
Замечания
NdisMCompleteDmaTransfer необходимо вызвать с WriteToDevice значение TRUE, прежде чем переданные данные считаются в памяти сетевого адаптера. NdisMCompleteDmaTransfer необходимо вызвать с помощью WriteToDevice значение FALSE перед чтением передаваемых данных из памяти узла.