Функция WdfDmaTransactionSetTransferCompleteCallback (wdfdmatransaction.h)
[Относится только к KMDF]
Метод WdfDmaTransactionSetTransferCompleteCallback регистрирует функцию обратного вызова события завершения передачи для транзакции DMA в системном режиме.
Синтаксис
void WdfDmaTransactionSetTransferCompleteCallback(
[in] WDFDMATRANSACTION DmaTransaction,
[in, optional] PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine,
[in, optional] PVOID DmaCompletionContext
);
Параметры
[in] DmaTransaction
Дескриптор инициализированного объекта транзакции DMA, для которого необходимо задать или очистить обратный вызов завершения передачи.
[in, optional] DmaCompletionRoutine
Указатель на функцию обратного вызова события EvtDmaTransactionDmaTransferComplete драйвера или значение NULL для очистки ранее заданной функции обратного вызова.
[in, optional] DmaCompletionContext
Указатель на буфер, содержащий контекст, заданный драйвером, который будет предоставлен функции обратного вызова события EvtDmaTransactionDmaTransferComplete драйвера или NULL.
Возвращаемое значение
None
Remarks
Драйвер вызывает этот метод, чтобы задать подпрограмму завершения, которую платформа вызывает после завершения передачи системным контроллером DMA. Платформа вызывает обратный вызов EvtDmaTransactionDmaTransferComplete драйвера один раз для каждой передачи в транзакции.
Как правило, из функции обратного вызова событий очереди ввода-вывода драйвер выполняет следующие действия в следующем порядке:
- Вызывает WdfDmaTransactionInitializeUsingRequest, WdfDmaTransactionInitialize или WdfDmaTransactionInitializeUsingOffset для инициализации объекта транзакции.
- Вызывает WdfDmaTransactionSetTransferCompleteCallback для объекта транзакции.
- Вызывает WdfDmaTransactionExecute.
WdfDmaTransactionSetTransferCompleteCallback можно использовать только с активатором DMA, указывающим системный профиль DMA.
Если драйвер вызывает этот метод в операционной системе до Windows 8, средство проверки платформы сообщает об ошибке.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1.11 |
Верхняя часть | wdfdmatransaction.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (см. раздел Управление версиями библиотеки Платформы). |
IRQL | <=DISPATCH_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf) |