функция обратного вызова 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 |