функция обратного вызова 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 может вызывать функцию драйвера поставщика DMA ProviderAbortDma, чтобы прервать все передачи DMA, запланированные на канал DMA.
В ProviderAbortDmaпоставщик DMA должен немедленно завершить передачу без завершения передачи данных, связанных с текущим дескриптором DMA. Если включен отчет о состоянии завершения, подсистема DMA записывает состояние NetDmaTransferStatusHalted в адресе, указанном в CompletionVirtualAddress и CompletionPhysicalAddress членов NET_DMA_CHANNEL_PARAMETERS структура.
После завершения операции прерывания канал DMA должен быть готов к интерфейсу NetDMA для вызова функции ProviderStartDma. Интерфейс NetDMA не вызывает функцию ProviderAppendDma до перезапуска передачи.
NetDMA вызывает ProviderAbortDma по адресу IRQL <= DISPATCH_LEVEL.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается для драйверов NetDMA 1.0 в Windows Vista. |
целевая платформа | Виндоус |
заголовка | netdma.h (include Netdma.h) |
IRQL | <= DISPATCH_LEVEL |