функция обратного вызова PVIDEO_HW_QUERY_INTERFACE (video.h)
HwVidQueryInterface возвращает функциональный интерфейс, реализованный драйвером мини-порта, который может вызывать дочернее устройство.
Синтаксис
PVIDEO_HW_QUERY_INTERFACE PvideoHwQueryInterface;
VP_STATUS PvideoHwQueryInterface(
PVOID HwDeviceExtension,
PQUERY_INTERFACE QueryInterface
)
{...}
Параметры
HwDeviceExtension
Указатель на область хранения для каждого адаптера драйвера мини-порта. Дополнительные сведения см. в разделе Расширения устройств.
QueryInterface
Указатель на структуру QUERY_INTERFACE , в которой драйвер мини-порта должен возвращать сведения об интерфейсе, который он поддерживает.
Возвращаемое значение
HwVidQueryInterface должен возвращать NO_ERROR при успешном выполнении; в противном случае он должен вернуть соответствующий код ошибки. Например, драйвер мини-порта должен возвращать ERROR_OUTOFMEMORY, если он не может выделить память для завершения операции.
Комментарии
HwVidQueryInterface предоставляет механизм связи между видеодрайвером минипорта и драйвером дочернего устройства. Драйвер минипорта, предоставляющий такой механизм, должен реализовывать эту функцию.
Видеопорт вызывает HwVidQueryInterface при получении запроса IRP_MN_QUERY_INTERFACE. Если драйвер мини-порта не выполняет вызов, драйвер видеопорта передает запрос родительскому устройству драйвера мини-порта.
HwVidQueryInterface должен заполнить элементы структуры INTERFACE, на которые указывает QueryInterface-Interface>, следующим образом:
- Задайте для параметра Size значение количества байтов в структуре ИНТЕРФЕЙСА. Это значение не должно превышать число байтов, указанное в параметре QueryInterface->Size.
- Задайте для свойства Version версию интерфейса, возвращаемого драйвером мини-порта. Драйвер мини-порта должен лучше всего соответствовать версии, запрошенной дочерним драйвером в queryInterface->Version.
- Задайте контекст, указывающий на контекст, определенный драйвером мини-порта для интерфейса. Как правило, драйвер мини-порта устанавливает контекст , указывающий на расширение устройства, определенное HwDeviceExtension.
- Инициализируйте InterfaceReference и InterfaceDereference , чтобы указать на реализованные драйвером минипорта процедуры ссылки и разыменования для этого интерфейса.
- Инициализируйте все дополнительные элементы, относящиеся к интерфейсу, чтобы указать соответствующие подпрограммы предоставляемого интерфейса.
Драйвер дочернего устройства может вызывать драйвер мини-порта через функции, предоставляемые HwVidQueryInterface , в любое время без ведома драйвера видеопорта. Следовательно, драйвер минипорта должен синхронизировать доступ к себе, получив и освободив блокировку устройства, поддерживаемую драйвером видеопорта, во всех функциях, предоставляемых HwVidQueryInterface.
Дочернее устройство перечисляется hwVidGetVideoChildDescriptor.
HwVidQueryInterface следует сделать страничной.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | video.h (включить Video.h) |