Поделиться через


Функция 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

[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 или возвращаемыми сведениями о конфигурации Запрошеноresources.

Замечания

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

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

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

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

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

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000
целевая платформа Настольный
заголовка video.h (include 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