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


Функция WdfDmaTransactionSetImmediateExecution (wdfdmatransaction.h)

[Применимо только к KMDF]

Метод WdfDmaTransactionSetImmediateExecution помечает указанную транзакцию DMA, чтобы вызовы WdfDmaTransactionExecute и WdfDmaTransactionAllocateResources немедленно или сбой транзакции.

Синтаксис

VOID WdfDmaTransactionSetImmediateExecution(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] BOOLEAN           UseImmediateExecution
);

Параметры

[in] DmaTransaction

Дескриптор объекта транзакции DMA, который будет пометить для немедленного выполнения.

[in] UseImmediateExecution

Логическое значение, указывающее, что транзакция должна выполняться немедленно (или завершиться ошибкой, если ресурсы недоступны) и, если значение FALSE, указывает, что транзакция должна быть поставлена в очередь для выполнения после доступности ресурсов DMA.

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

Нет

Замечания

Перед вызовом WdfDmaTransactionSetImmediateExecutionдрайвер должен инициализировать транзакцию.

Если драйвер вызывает WdfDmaTransactionExecute или WdfDmaTransactionAllocateResources после вызова WdfDmaTransactionSetImmediateExecution с UseImmediateExecution значение TRUE, а ресурсы, необходимые для запроса, недоступны, этот метод возвращает STATUS_INSUFFICIENT_RESOURCES. Если необходимые ресурсы доступны, платформа утверждает их и инициирует вызов синхронно.

После того как драйвер помечает транзакцию для немедленного выполнения, транзакция остается помеченной как такая, пока драйвер не вызывает WdfDmaTransactionRelease или очищает флаг, вызвав WdfDmaTransactionSetImmediateExecution с UseImmediateExecution значение FALSE.

WdfDmaTransactionSetImmediateExecution требует DMA версии 3. Чтобы выбрать DMA версии 3, задайте WdmDmaVersionOverride член WDF_DMA_ENABLER_CONFIG 3.

Если драйвер вызывает этот метод в операционной системе раньше Windows 8, проверяющего средства платформы сообщает об ошибке.

Требования

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

См. также

WdfDmaTransactionAllocateResources

WdfDmaTransactionExecute

WdfDmaTransactionRelease