Функция 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) |