Макрос 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 , если передача была выполнена с узла на сетевой адаптер, например операция отправки.
Возвращаемое значение
None
Remarks
NdisMCompleteDmaTransfer должен вызываться с параметром WriteToDevice со значением TRUE , прежде чем переданные данные будут считаться присутствующими в памяти сетевого адаптера. NdisMCompleteDmaTransfer необходимо вызвать с параметром WriteToDevice значение FALSE , прежде чем передаваемые данные можно будет считывать из памяти узла.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisMCompleteDmaTransfer (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisMCompleteDmaTransfer (NDIS 5.1)) в Windows XP. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_MCO_Function(ndis) |