функция обратного вызова 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 |