Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо только к KMDF]
Метод WdfDmaTransactionSetSingleTransferRequirement указывает, что транзакция DMA должна выполняться в рамках одной передачи.
Синтаксис
void WdfDmaTransactionSetSingleTransferRequirement(
[in] WDFDMATRANSACTION DmaTransaction,
[in] BOOLEAN RequireSingleTransfer
);
Параметры
[in] DmaTransaction
Дескриптор объекта транзакции DMA, полученный драйвером из предыдущего вызова WdfDmaTransactionCreate.
[in] RequireSingleTransfer
Логическое значение, которое, если TRUE, указывает, что для транзакции DMA требуется одна передача.
Возвращаемое значение
Нет
Замечания
Этот метод запрашивает только одну передачу для одной транзакции. Когда объект транзакции перезапускается с WdfDmaTransactionRelease и повторно инициализирован, этот параметр сбрасывается, как и другие свойства уровня транзакций, такие как немедленное выполнение и максимальная длина передачи.
Чтобы запросить одну передачу для всех транзакций DMA, созданных с помощью заданного включения DMA, укажите WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER в WDF_DMA_ENABLER_CONFIG_FLAGS при вызове WdfDmaEnablerCreate. Это эквивалентно вызову WdfDmaTransactionSetSingleTransferRequirement для каждого объекта транзакции, созданного с помощью включения DMA.
Драйвер вызывает WdfDmaTransactionSetSingleTransferRequirement после создания или перезапуска объекта транзакции, но перед инициализацией или выполнением. Дополнительные сведения см. в разделе Использованиеодноадресной передачи DMA.
WdfDmaTransactionSetSingleTransferRequirement требует DMA версии 3. Чтобы выбрать DMA версии 3, задайте WdmDmaVersionOverride член WDF_DMA_ENABLER_CONFIG 3.
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
минимальная версия KMDF | 1.19 |
Заголовок | wdfdmatransaction.h (include Wdf.h) |
Библиотека | Wdf01000.sys (см. управление версиями библиотеки Платформы).) |
IRQL | <=DISPATCH_LEVEL |