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