Функция 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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по