функция обратного вызова DMA_ABORT_HANDLER (netdma.h)
в Windows 8 и более поздних версий.
Синтаксис
DMA_ABORT_HANDLER DmaAbortHandler;
NTSTATUS DmaAbortHandler(
[in] PVOID ProviderChannelContext
)
{...}
Параметры
[in] ProviderChannelContext
Указатель, определяющий контекстную область канала DMA. Поставщик DMA вернул этот дескриптор в NetDMA в расположении, указанном в параметре pProviderChannelContext объекта Функция ProviderAllocateDmaChannel .
Возвращаемое значение
ProviderAbortDma возвращает одно из следующих значений состояния:
Код возврата | Описание |
---|---|
|
Операция выполнена успешно. |
|
Операция завершилась сбоем по неопределенным причинам. |
Комментарии
Функция ProviderAbortDma является необязательной функцией для поставщиков NetDMA. Интерфейс NetDMA может вызывать функцию ProviderAbortDma драйвера поставщика DMA, если она имеется, чтобы прервать все передачи DMA, запланированные в канале DMA.
В ProviderAbortDma поставщик DMA должен немедленно завершить передачу, не завершая передачу данных, связанных с текущим дескриптором DMA. Если отчеты о состоянии завершения включены, подсистема DMA записывает состояние NetDmaTransferStatusHalted в адрес, указанный в элементах CompletionVirtualAddress и CompletionPhysicalAddress в NET_DMA_CHANNEL_PARAMETERS структура.
После завершения операции прерывания канал DMA должен быть готов к вызову функции ProviderStartDma с помощью интерфейса NetDMA. Интерфейс NetDMA не будет вызывать функцию ProviderAppendDma до перезапуска передачи.
NetDMA вызывает ProviderAbortDma в IRQL <= DISPATCH_LEVEL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается для драйверов NetDMA 1.0 в Windows Vista. |
Целевая платформа | Windows |
Header | netdma.h (включая Netdma.h) |
IRQL | <= DISPATCH_LEVEL |