Поделиться через


функция обратного вызова 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 Mdl, где начинается текущая передача.

[in] Length

Количество байтов, передаваемых в текущей передаче.

Возвращаемое значение

Функция обратного вызова EvtDmaTransactionConfigureDmaChannel возвращает значение TRUE, если она успешно настраивает канал DMA. Если эта функция обратного вызова возвращает значение FALSE, платформа останавливает транзакцию и не вызывает EvtProgramDma.

Замечания

Драйверы регистрируют функцию обратного вызова событий EvtDmaTransactionConfigureDmaChannel путем вызова WdfDmaTransactionSetChannelConfigurationCallback.

Платформа вызывает EvtDmaTransactionConfigureDmaChannel один раз для каждой передачи DMA в системном профиле DMA в транзакции после выделения канала адаптера, но перед сопоставлением передачи и вызова EvtProgramDma.

Драйвер может использовать обратный вызов EvtDmaTransactionConfigureDmaChannel для задания любого пользовательского программирования для адаптера DMA перед сопоставлением передачи.

Если драйвер испытывает ошибку при настройке канала, он может остановить передачу DMA, вызвав WdfDmaTransactionDmaCompletedFinal и при необходимости выполнив запрос. Затем драйвер должен вернуть значение FALSE из этой функции обратного вызова.

Требования

Требование Ценность
Минимально поддерживаемый клиент Windows 8
целевая платформа универсальный
минимальная версия KMDF 1.11
Заголовок wdfdmatransaction.h (include Wdf.h)
IRQL DISPATCH_LEVEL

См. также

WdfDmaTransactionDmaCompletedFinal

WdfDmaTransactionSetChannelConfigurationCallback