Функция VideoPortGetAccessRanges (video.h)

Не рекомендуется. Функция VideoPortGetAccessRanges получает сведения о конфигурации относительно шины и, если это возможно, утверждает эти аппаратные ресурсы в реестре для вызывающего абонента.

Синтаксис

VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortGetAccessRanges(
  PVOID                   HwDeviceExtension,
  ULONG                   NumRequestedResources,
  PIO_RESOURCE_DESCRIPTOR RequestedResources,
  ULONG                   NumAccessRanges,
  PVIDEO_ACCESS_RANGE     AccessRanges,
  PVOID                   VendorId,
  PVOID                   DeviceId,
  PULONG                  Slot
);

Параметры

HwDeviceExtension

Указатель на расширение устройства драйвера мини-порта.

NumRequestedResources

Указывает количество элементов в массиве RequestedResources .

RequestedResources

[in, необязательный] Массив элементов IO_RESOURCE_DESCRIPTOR типа. Каждый дескриптор указывает один аппаратный ресурс, который требуется драйверу мини-порта или может использовать в качестве альтернативы, указанному в другом элементе массива. Подробные сведения об этой структуре см. в описании IoAssignResources.

NumAccessRanges

Указывает количество элементов в массиве AccessRanges .

AccessRanges

[out] Указатель на область в стеке или на статическую структуру в драйвере мини-порта, в которую VideoPortGetAccessRanges возвращает массив элементов VIDEO_ACCESS_RANGE , заполненных диапазонами памяти устройства, зависящими от шины, для адаптера.

VendorId

Должно быть задано значение NULL.

DeviceId

Должно быть задано значение NULL.

Slot

Указатель на расположение памяти, в котором драйвер видеопорта хранит номер слота для устройства или имеет значение NULL.

Для Plug and Play устройств, если это допустимый указатель, драйвер видеопорта сохраняет номер слота в расположении памяти, указанном указателем. Если в вызове передается значение NULL, драйвер видеопорта не сохраняет значение в расположении.

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

Функция VideoPortGetAccessRanges возвращает NO_ERROR, если она успешно заполнена в accessRanges или возвращена информация о конфигурации в RequestedResources.

Комментарии

Каждый драйвер видео минипорта должен либо использовать диапазоны доступа, возвращаемые VideoPortGetAccessRanges, либо вызывать VideoPortVerifyAccessRanges , прежде чем пытаться получить доступ к видеоадаптеду во время процесса инициализации драйвера (и системы).

VideoPortGetAccessRanges можно вызывать только из функции HwVidFindAdapter драйвера минипорта.

Для большинства драйверов мини-портов VideoPortGetAccessRanges может извлекать, проверять и утверждать диапазоны доступа относительно шины, а также любые прерывания и (или) канал или порт DMA, используемые определенным видеоадаптером, в то время как VideoPortVerifyAccessRanges может проверять и запрашивать только ресурсы, указанные драйвером мини-порта. То есть для всех возвращающихся сведений о конфигурации VideoPortGetAccessRanges запрашивает соответствующие аппаратные ресурсы в реестре для вызывающего объекта. Драйверу мини-порта не нужно вызывать VideoPortVerifyAccessRanges с возвращенными сведениями о конфигурации относительно шины, если драйвер мини-порта не пытается изменить какие-либо из возвращаемых значений.

Каждый успешный вызов VideoPortGetAccessRanges или VideoPortVerifyAccessRanges для определенного адаптера перезаписывает предыдущее утверждение драйвера мини-порта для аппаратных ресурсов в реестре.

После успешного вызова VideoPortGetAccessRanges драйвер мини-порта должен сопоставить возвращаемые диапазоны относительно шины с логическими диапазонами с помощью VideoPortGetDeviceBase, прежде чем вызывать соответствующую функцию VideoPortRead/Write***Xxx для связи с адаптером.

Как правило, драйвер мини-порта устройства PCI должен вызывать функцию HwVidFindAdapterVideoPortGetAccessRanges, а не пытаться управлять сведениями о PCI_COMMON_CONFIG, которые возвращаются вызовом VideoPortGetBusData. Этот драйвер мини-порта обычно может вызывать VideoPortGetAccessRanges с указателем NULLRequestedResources . Затем драйвер видеопорта использует пространство конфигурации шины PCI для определения ресурсов видеоадаптера. Драйвер мини-порта может вызывать VideoPortGetAccessRanges, используя набор предоставленных драйвером спецификаций RequestedResources , если его исходный вызов не возвращает допустимые данные конфигурации для адаптера.

Обратите внимание, что драйверы мини-портов адаптеров на других типах автобусов ввода-вывода также могут вызывать VideoPortGetAccessRanges. Эти драйверы должны вызывать VideoPortGetAccessRanges с помощью указателя RequestedResources на предоставленный драйвером массив дескрипторов ресурсов ввода-вывода.

Если функция HwVidFindAdapter утверждает диапазоны доступа относительно шины и, возможно, другие аппаратные ресурсы для адаптера, но затем определяет, что адаптер не поддерживается, драйвер мини-порта должен отказаться от своих утверждений на аппаратных ресурсах в реестре, вызвав VideoPortGetAccessRanges или VideoPortVerifyAccessRanges с параметром NumAccessRanges , равным нулю.

Требования

Требование Значение
Минимальная версия клиента Windows 2000
Целевая платформа Персональный компьютер
Верхняя часть video.h (включая Video.h)
Библиотека Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

См. также раздел

HwVidFindAdapter

IoAssignResources

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

VIDEO_PORT_CONFIG_INFO

VideoPortGetBusData

VideoPortGetDeviceBase

VideoPortSetBusData

VideoPortVerifyAccessRanges