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

HwVidExecuteDma — это реализованная драйвером минипорта процедура обратного вызова, которая отвечает за получение пар физических адресов и длины из списка точечной и сборочной, а также за программирование оборудования для запуска фактической передачи DMA.

Синтаксис

PEXECUTE_DMA PexecuteDma;

void PexecuteDma(
  PVOID HwDeviceExtension,
  PVP_DMA_ADAPTER VpDmaAdapter,
  PVP_SCATTER_GATHER_LIST SGList,
  PVOID Context
)
{...}

Параметры

HwDeviceExtension

Указатель на область хранения для каждого адаптера драйвера мини-порта. Дополнительные сведения см. в разделе Расширения устройств.

VpDmaAdapter

Указатель на структуру VP_DMA_ADAPTER, представляющую адаптер master шины. Эта структура была возвращена вызовом VideoPortGetDmaAdapter.

SGList

Указатель на структуру VP_SCATTER_GATHER_LIST . Драйвер видеопорта заполняет сведения в этой структуре и передает эту структуру драйверу мини-порта.

Context

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

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

None

Remarks

Эта функция доступна в Windows XP и более поздних версиях.

Если драйвер мини-порта сообщает, что устройство не поддерживает точечную или сборную, в этом списке будет передан только один элемент. Список точечной и собираемой информации действителен до вызова VideoPortCompleteDma .

Последняя задача, выполняемая функцией VideoPortStartDma драйвера видеопорта , заключается в вызове подпрограммы обратного вызова HwVidExecuteDma драйвера мини-порта. Именно этот обратный вызов фактически выполняет операцию передачи DMA.

HwVidExecuteDma должен находиться в непагружаемой памяти и не должен получать доступ к коду или данным, доступным для страниц.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть video.h (включая Video.h)

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

VP_DMA_ADAPTER

VP_SCATTER_GATHER_LIST

VideoPortCompleteDma

VideoPortGetDmaAdapter

VideoPortStartDma