Функция VideoPortSynchronizeExecution (video.h)
Функция VideoPortSynchronizeExecution синхронизирует выполнение предоставленной драйвером мини-порта функции HwVidSynchronizeExecutionCallback с функцией HwVidInterrupt драйвера минипорта, если она имеется. В противном случае он запускает HwVidSynchronizeExecutionCallback с повышением приоритета.
Синтаксис
VIDEOPORT_DEPRECATED BOOLEAN VIDEOPORT_API VideoPortSynchronizeExecution(
PVOID HwDeviceExtension,
VIDEO_SYNCHRONIZE_PRIORITY Priority,
PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine,
PVOID Context
);
Параметры
HwDeviceExtension
Указатель на расширение устройства драйвера мини-порта.
Priority
Указывает тип приоритета, с которым должен выполняться заданный SynchronizeRoutine , как одно из следующих значений:
- Если для параметра Priority задано значение VpLowPriority, текущий поток возвращается к самому высокому приоритету без маскирования. Соответственно, текущий поток может быть вытеснен только с помощью ISR, если устройство прерывает работу.
- Если для параметра Priority задано значение VpMediumPriority и драйвер мини-порта имеет ISR, связанный с его видеоадаптером, вызов данного элемента SynchronizeRoutine синхронизируется с функцией HwVidInterrupt драйвера мини-порта. В противном случае синхронизация выполняется на уровне VpLowPriority .
- VpHighPriority имеет тот же эффект, что и VpMediumPriority.
SynchronizeRoutine
Указатель на функцию HwVidSynchronizeExecutionCallback драйвера мини-порта.
Context
Указатель на предоставленный вызывающим объектом контекст, который передается в функцию HwVidSynchronizeExecutionCallback драйвера мини-порта. Этот указатель может иметь значение NULL.
Возвращаемое значение
Если операция выполнена успешно, Функция VideoPortSynchronizeExecution возвращает значение TRUE.
Комментарии
Водители минипорта редко называют эту процедуру, если не поддерживается одно из следующих условий:
- Функция HwVidInterrupt драйвера мини-порта использует память совместно с другими функциями драйвера минипорта. Чтобы получить доступ к общей памяти в многопроцессорном режиме, такие функции драйвера минипорта должны вызывать VideoPortSynchronizeExecution с HwVidSynchronizeExecutionCallback. Эта функция драйвера мини-порта может безопасно получать доступ к общей памяти, так как драйвер видеопорта не позволяет функции HwVidInterrupt получать доступ к той же памяти одновременно.
- Адаптер должен быть запрограммирован с помощью последовательности команд без переключения контекста. Например, функция SvgaHwIoPortXxx драйвера мини-порта, которая буферизировала последовательность инструкций ввода-вывода и проверила последовательность, может вызывать VideoPortSynchronizeExecution с HwVidSynchronizeExecutionCallback. Эта функция драйвера минипорта может очень быстро передавать буферный и проверенный поток ввода-вывода адаптеру.
Вызывающие объекта VideoPortSynchronizeExecution должны выполняться в IRQL
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | video.h (включить Video.h) |
Библиотека | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | <= DIRQL |