функция обратного вызова 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 должен заполнить элементы структуры интерфейса , к которой QueryInterface—>интерфейс следующим образом:
- Задайте размер число байтов в структуре ИНТЕРФЕЙСА. Это значение не должно превышать количество байтов, указанных QueryInterface->Size.
- Задайте версии версию интерфейса, возвращаемую драйвером минипорта. Минипорт-драйвер должен лучше всего соответствовать версии, запрошенной дочерним драйвером в QueryInterface->версии.
- Задайте контексту указывать на контекст, определенный драйвером мини-порта для интерфейса. Как правило, минипорт-драйвер устанавливает Контекст, чтобы указать расширение устройства, определяемое HwDeviceExtension.
- Инициализируйте interfaceReference и InterfaceDereference, чтобы указать на подпрограммы ссылок и отмены ссылок для этого интерфейса.
- Инициализировать все дополнительные члены интерфейса, чтобы указать на соответствующие подпрограммы предоставляемого интерфейса.
Драйвер дочернего устройства может вызываться в драйвер минипорта через функции, предоставляемые HwVidQueryInterface в любое время без знаний драйвера видеопорта. Следовательно, минипорт-драйвер должен синхронизировать доступ к себе путем получения и освобождения блокировки устройства, поддерживаемого драйвером видеопорта, во всех функциях, предоставляемых HwVidQueryInterface.
Дочернее устройство перечисляется HwVidGetVideoChildDescriptor.
HwVidQueryInterface должны быть доступны для страниц.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | video.h (include Video.h) |