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


функция обратного вызова EVT_WDF_RESERVE_DMA (wdfdmatransaction.h)

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

Функция обратного вызова события EvtReserveDma вызывается, если платформа имеет зарезервированные ресурсы для выполнения и освобождения транзакции. Зарезервированные ресурсы включают регистры карт и блокировку адаптера WDM DMA.

Синтаксис

EVT_WDF_RESERVE_DMA EvtWdfReserveDma;

void EvtWdfReserveDma(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] PVOID Context
)
{...}

Параметры

[in] DmaTransaction

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

[in] Context

Указатель контекста, указанный драйвером в предыдущем вызове WdfDmaTransactionAllocateResources.

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

None

Remarks

Драйверы регистрируют функцию обратного вызова события EvtReserveDma , вызывая WdfDmaTransactionAllocateResources.

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

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

Драйвер может вызывать WdfDmaTransactionFreeResources из EvtReserveDma.

В операционных системах, предшествующих Windows 8, EvtReserveDma необходимо использовать с включателем, указывающим пакетный режим DMA. Начиная с Windows 8, EvtReserveDma также можно использовать с включателем, задающим системный режим DMA.

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1.11
Верхняя часть wdfdmatransaction.h (включая Wdf.h)
IRQL DISPATCH_LEVEL

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

WdfDmaTransactionAllocateResources

WdfDmaTransactionFreeResources