функция обратного вызова 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.
Никакой
Эта функция доступна в Windows XP и более поздних версиях.
Если драйвер минипорта сообщает, что устройство не поддерживает точечную или сборную, в этом подпрограмме будет передан только один элемент в списке точечных и сборок. Список точечной и сборной действителен, пока не будет вызван VideoPortCompleteDma.
Последняя задача драйвера видеопорта VideoPortStartDma заключается в вызове подпрограммы обратного вызова драйвера минипорта HwVidExecuteDma. Это обратный вызов, который фактически выполняет операцию передачи DMA.
HwVidExecuteDma должен находиться в нераспакованной памяти и не должен получать доступ к любому коду или данным, доступным для страниц.
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | video.h (include Video.h) |