функция обратного вызова PMINIPORT_QUERY_DEVICE_ROUTINE (video.h)

HwVidQueryDeviceCallback использует указанные данные конфигурации для настройки адаптера и, возможно, для заполнения отсутствующих сведений о конфигурации в структуре VIDEO_PORT_CONFIG_INFO.

Синтаксис

PMINIPORT_QUERY_DEVICE_ROUTINE PminiportQueryDeviceRoutine;

VP_STATUS PminiportQueryDeviceRoutine(
  PVOID HwDeviceExtension,
  PVOID Context,
  VIDEO_DEVICE_DATA_TYPE DeviceDataType,
  PVOID Identifier,
  ULONG IdentiferLength,
  PVOID ConfigurationData,
  ULONG ConfigurationDataLength,
  PVOID ComponentInformation,
  ULONG ComponentInformationLength
)
{...}

Параметры

HwDeviceExtension

Указатель на область хранения минипорта для каждого адаптера. Дополнительные сведения см. в расширениях устройств.

Context

Указатель на значение контекста, настроенное HwVidFindAdapter. Обычно он указывает на буфер VIDEO_PORT_CONFIG_INFO или смещение в этом буфере.

DeviceDataType

Указывает тип запрошенных сведений о конфигурации, который является одним из следующих:

VpBusData

VpCmosData

VpControllerData

VpMachineData

VpMonitorData

Мини-порты видеоадаптеров x86 типа обычно указывают VpBusData, особенно для адаптеров на автобусах EISA. Значения VpControllerData и VpMonitorData имеют значение только на платформах, совместимых с ARC. Значения VpCmosData и VpMachineData используются редко.

Identifier

Указатель на имя устройства, определенного встроенного ПО ARC. Этот параметр следует использовать только на платформах, совместимых с ARC. В противном случае этот указатель должен быть null.

IdentiferLength

Задает размер в байтах буферизованного идентификатора строки. Значение должно быть равно нулю, если компьютер не соответствует ARC.

ConfigurationData

Указатель на данные конфигурации оборудования. Формат этих данных определяется указанным DeviceDataType и значением AdapterInterfaceType в VIDEO_PORT_CONFIG_INFO.

ConfigurationDataLength

Задает размер в байтах буфера ConfigurationData. Фактически это указывает, сколько сведений было собрано из реестра и хранится в буфере ConfigurationData ConfigurationData, выделенном VideoPortGetDeviceBase.

ComponentInformation

Зарезервировано для использования системы.

ComponentInformationLength

Зарезервировано для использования системы.

Возвращаемое значение

HwVidQueryDeviceCallback возвращает состояние операции.

Замечания

HwVidQueryDeviceCallback передается в вызове VideoPortGetDeviceData из функции драйвера минипорта HwVidFindAdapter. VideoPortGetDeviceData вызывает HwVidQueryDeviceCallback после сбора доступных сведений о конфигурации в узле реестра \Registry\Machine\Hardware\Description.

HwVidQueryDeviceCallback проверяет ConfigurationData, собранные из реестра VideoPortGetDeviceData. Эта информация используется для настройки адаптера и, возможно, для заполнения отсутствующих сведений о конфигурации в структуре VIDEO_PORT_CONFIG_INFO.

HwVidQueryDeviceCallback не может передавать значения диапазона доступа, найденные в ConfigurationDataVideoPortReadXxx или VideoPortWriteXxx напрямую; Такие адреса сначала необходимо сопоставить путем вызова VideoPortGetDeviceBase.

Если буфер ConfigurationData не имеет сведений о диапазоне доступа, а функция HwVidFindAdapter драйвера мини-порта еще не вызвала VideoPortGetBusData (или VideoPortGetAccessRanges), функция HwVidQueryDeviceCallback может вызывать VideoPortGetBusData. Сведения о диапазоне доступа, возвращаемые VideoPortGetBusData также должны передаваться в VideoPortVerifyAccessRanges.

Если VideoPortVerifyAccessRanges возвращает NO_ERROR, драйвер минипорта может вызывать VideoPortGetDeviceBase, чтобы получить сопоставленные логические адреса, которые можно использовать для связи с адаптером, вызвав функции VideoPortReadXxx и (или) VideoPortWriteXxx.

Если он не может получить значения диапазонов доступа относительно шины путем вызова VideoPortGetDeviceData, VideoPortGetBusDataили VideoPortGetAccessRanges, мини-драйвер может использовать набор значений диапазона доступа, предоставленных драйвером по умолчанию, для поиска своего адаптера. В этих случаях драйвер минипорта должен вызывать VideoPortVerifyAccessRanges с диапазонами доступа, предоставленными драйвером мини-порта, а затем вызывать VideoPortGetDeviceBase только в том случае, если VideoPortVerifyAccessRanges возвращены NO_ERROR. Если вызов VideoPortVerifyAccessRanges завершается неудачно, данный диапазон шины уже используется драйвером другого устройства.

HwVidQueryDeviceCallback должны быть доступны для страницы.

Требования

Требование Ценность
целевая платформа Настольный
заголовка video.h (include Video.h)

См. также

VideoPortGetAccessRanges

VideoPortGetBusData

VideoPortGetDeviceBase

VideoPortGetDeviceData

VideoPortVerifyAccessRanges