функция обратного вызова EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL (wdfdmatransaction.h)
[Относится только к KMDF]
Функция обратного вызова события EvtDmaTransactionConfigureDmaChannel драйвера настраивает адаптер DMA для включения DMA в системном режиме.
Синтаксис
EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL EvtWdfDmaTransactionConfigureDmaChannel;
BOOLEAN EvtWdfDmaTransactionConfigureDmaChannel(
[in] WDFDMATRANSACTION DmaTransaction,
[in] WDFDEVICE Device,
[in] PVOID Context,
[in, optional] PMDL Mdl,
[in] size_t Offset,
[in] size_t Length
)
{...}
Параметры
[in] DmaTransaction
Дескриптор объекта транзакции DMA, представляющий выполняемую транзакцию.
[in] Device
Дескриптор объекта устройства платформы, который драйвер указал при вызове WdfDmaTransactionCreate.
[in] Context
Указатель контекста, указанный драйвером в предыдущем вызове WdfDmaTransactionSetChannelConfigurationCallback.
[in, optional] Mdl
Указатель на один список дескрипторов памяти (MDL) или цепочку MDL, описывающую буфер, связанный с текущей передачей, или значение NULL, если последняя передача была завершена и адаптер освобождается.
[in] Offset
Смещение байтов в буфер, указанный в параметре Mdl , где начинается текущая передача.
[in] Length
Количество байтов, передаваемых в текущей передаче.
Возвращаемое значение
Функция обратного вызова EvtDmaTransactionConfigureDmaChannel возвращает значение TRUE, если канал DMA успешно настроен. Если эта функция обратного вызова возвращает значение FALSE, платформа останавливает транзакцию и не вызывает EvtProgramDma.
Комментарии
Драйверы регистрируют функцию обратного вызова события EvtDmaTransactionConfigureDmaChannel , вызывая WdfDmaTransactionSetChannelConfigurationCallback.
Платформа вызывает EvtDmaTransactionConfigureDmaChannel один раз для каждой передачи DMA системного профиля в транзакции после выделения канала адаптера, но перед сопоставлением передачи и вызова EvtProgramDma.
Драйвер может использовать обратный вызов EvtDmaTransactionConfigureDmaChannel , чтобы настроить любое настраиваемое программирование для адаптера DMA перед сопоставлением передачи.
Если драйвер испытывает ошибку при настройке канала, он может остановить передачу DMA, вызвав WdfDmaTransactionDmaCompletedFinal и при необходимости выполнив запрос. Затем драйвер должен возвращать значение FALSE из этой функции обратного вызова.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1.11 |
Верхняя часть | wdfdmatransaction.h (включая Wdf.h) |
IRQL | DISPATCH_LEVEL |