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 的内存位置的指针。

对于即插即用设备,如果这是有效的指针,则视频端口驱动程序会将槽号存储在指针指定的内存位置。 如果在调用中传递 NULL 值,则视频端口驱动程序不会在位置中存储值。

返回值

VideoPortGetAccessRangesAccessRanges 信息中成功填充或 RequestedResources返回配置信息时返回NO_ERROR。

言论

每个视频微型端口驱动程序都必须使用由 VideoPortGetAccessRanges返回的访问范围,或者必须先调用 VideoPortVerifyAccessRanges,然后再尝试在驱动程序(和系统)初始化过程中访问视频适配器。

VideoPortGetAccessRanges 只能从微型端口驱动程序的 HwVidFindAdapter 函数调用。

对于大多数微型端口驱动程序,VideoPortGetAccessRanges 可以检索、验证和声明特定视频适配器使用的任何中断和/或 DMA 通道/端口,而 VideoPortVerifyAccessRanges 只能验证和声明微型端口驱动程序指定的资源。 也就是说,对于返回的所有配置信息,VideoPortGetAccessRanges 声明调用方注册表中的相应硬件资源。 微型端口驱动程序不需要使用返回的总线相对配置信息调用 VideoPortVerifyAccessRanges,除非微型端口驱动程序尝试修改任何返回的值。

每次成功调用 VideoPortGetAccessRangesVideoPortVerifyAccessRanges,特定适配器都会覆盖微型端口驱动程序在注册表中的硬件资源上的上述声明。

成功调用 VideoPortGetAccessRanges后,微型端口驱动程序必须将返回的总线相对范围映射到具有 VideoPortGetDeviceBase的逻辑范围,然后 调用相应的 VideoPortRead/Write****Xxx 函数来与适配器通信。

通常,PCI 设备的微型端口驱动程序应具有其 HwVidFindAdapter 函数调用 VideoPortGetAccessRanges,而不是尝试操作调用 VideoPortGetBusData返回的非特定于设备的PCI_COMMON_CONFIG信息。 此微型端口驱动程序通常可以使用 NULLRequestedResources 指针调用 VideoPortGetAccessRanges。 然后,视频端口驱动程序使用 PCI 总线的配置空间来确定视频适配器的资源。 微型端口驱动程序可以使用一组驱动程序提供的 RequestedResources 规范调用 VideoPortGetAccessRanges(如果原始调用无法返回适配器的有效配置数据)。

请注意,其他类型的 I/O 总线上的适配器的微型端口驱动程序还可以调用 VideoPortGetAccessRanges。 这些驱动程序应使用 RequestedResources 指针调用 VideoPortGetAccessRanges,指向驱动程序提供的 I/O 资源描述符数组。

如果 HwVidFindAdapter 函数声明了相对于总线的访问范围,以及适配器的其他硬件资源, 但是,然后确定它不支持适配器,然后微型端口驱动程序必须通过调用 VideoPortGetAccessRangesVideoPortVerifyAccessRangesNumAccessRanges 参数来放弃对注册表中的硬件资源的声明。

要求

要求 价值
最低支持的客户端 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