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


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

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

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

Синтаксис

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

Параметры

[in] DmaTransaction

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

[in] UseImmediateExecution

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

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

None

Remarks

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

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

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

Для WdfDmaTransactionSetImmediateExecution требуется DMA версии 3. Чтобы выбрать DMA версии 3, установите для элемента WdmDmaVersionOverrideWDF_DMA_ENABLER_CONFIG значение 3.

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

Требования

Требование Значение
Минимальная версия клиента Windows 8
Целевая платформа Универсальное
Минимальная версия KMDF 1.11
Верхняя часть wdfdmatransaction.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки платформы).
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf)

См. также раздел

WdfDmaTransactionAllocateResources

WdfDmaTransactionExecute

WdfDmaTransactionRelease