функция обратного вызова EVT_WDF_PROGRAM_DMA (wdfdmatransaction.h)
[Применяется только к KMDF]
Функция обратного вызова события EvtProgramDma драйвера на основе платформы программируют указанное устройство для выполнения операции передачи DMA.
Синтаксис
EVT_WDF_PROGRAM_DMA EvtWdfProgramDma;
BOOLEAN EvtWdfProgramDma(
[in] WDFDMATRANSACTION Transaction,
[in] WDFDEVICE Device,
[in] WDFCONTEXT Context,
[in] WDF_DMA_DIRECTION Direction,
[in] PSCATTER_GATHER_LIST SgList
)
{...}
Параметры
[in] Transaction
Дескриптор объекта транзакции DMA, представляющего текущую транзакцию DMA.
[in] Device
Дескриптор объекта устройства платформы.
[in] Context
Указатель контекста, указанный драйвером в предыдущем вызове WdfDmaTransactionExecute.
[in] Direction
WDF_DMA_DIRECTION типизированное значение, указывающее направление операции передачи DMA.
[in] SgList
Указатель на структуру SCATTER_GATHER_LIST .
Возвращаемое значение
Функция обратного вызова EvtProgramDma должна возвращать значение TRUE , если она успешно запускает операцию передачи DMA. В противном случае эта функция обратного вызова должна возвращать значение FALSE. Однако в настоящее время платформа игнорирует возвращаемое значение.
Комментарии
Драйверы регистрируют функцию обратного вызова события EvtProgramDma , вызывая WdfDmaTransactionInitializeUsingRequest или WdfDmaTransactionInitialize.
Платформа вызывает функцию обратного вызова события EvtProgramDma драйвера, когда доступна передача DMA . Функция обратного вызова должна запрограммировать оборудование для запуска передачи.
Драйвер не должен управлять буферами данных, связанными с транзакцией, до тех пор, пока WdfDmaTransactionDmaCompletedXxx не вернет значение TRUE.
Для передачи одного пакета список точечной и сборной, на который указывает параметр SgList , содержит один элемент.
Дополнительные сведения об этой функции обратного вызова см. в разделе Программирование оборудования DMA.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Верхняя часть | wdfdmatransaction.h (включая Wdf.h) |
IRQL | DISPATCH_LEVEL |