VideoPortGetBusData 函数 (video.h)

VideoPortGetBusData 函数返回特定于总线类型的配置信息。

语法

VIDEOPORT_DEPRECATED VIDEOPORT_API ULONG VideoPortGetBusData(
        PVOID         HwDeviceExtension,
        BUS_DATA_TYPE BusDataType,
        ULONG         SlotNumber,
  [out] PVOID         Buffer,
        ULONG         Offset,
        ULONG         Length
);

参数

HwDeviceExtension

指向微型端口驱动程序的设备扩展的指针。

BusDataType

指定要返回的总线配置数据的类型。 此参数的值可以是 “Cmos”、“ EisaConfiguration”或 “PCIConfiguration”。 但是,将来可能支持其他类型的总线配置。 支持的类型的上限始终为 MaximumBusDataType

SlotNumber

指定 设备在总线上对于一个Cmos BusDataType的位置;对于所有其他总线类型,为零。

[out] Buffer

指向 VideoPortGetBusData 返回配置信息的缓冲区的指针。 缓冲区的内容取决于 BusDataType,如下所示:

  • 如果指定 了Cmos ,则缓冲区包含的CMOS (总线编号等于零) 或 ECMOS (总线编号等于一个) 位置的内容,从为 SlotNumber 指定的位置开始。 微型端口驱动程序的 HwVidFindAdapter 函数可以从VIDEO_PORT_CONFIG_INFO输入结构的 SystemIoBusNumber 成员确定总线的数量。
  • 如果指定 了 EisaConfiguration ,则缓冲区包含 CM_EISA_SLOT_INFORMATION 结构,后跟指定槽的零个或多个 CM_EISA_FUNCTION_INFORMATION 结构。
  • 如果指定 了 PCIConfiguration ,则缓冲区包含指定槽 的PCI_COMMON_CONFIG 信息。

Offset

指定在 BusDataTypePCIConfiguration 时应检索的 PCI 配置空间的偏移量(以字节为单位);否则为零。 有关详细信息,请参阅注解

Length

指定 Buffer 的长度(以字节为单位)。

返回值

VideoPortGetBusData 返回它在 Buffer 中写入的配置信息的字节数。 如果给定的 BusDataType 对当前平台无效,则此函数通常返回零。

返回代码 说明
0 PCI 总线不存在。
2 PCI 总线存在,但缓冲区包含PCI_COMMON_CONFIG VendorId 成员PCI_INVALID_VENDOR_ID的值。

注解

若要仅获取部分配置信息,微型端口驱动程序应将 Offset 设置为所需信息的字节偏移量,并将 Length 设置为所需信息的字节数。 例如,如果只需要命令寄存器,请将 Offset 设置为此寄存器的偏移量,并将 Length 设置为 size of (USHORT) 。

驱动程序应调用 VideoPortGetAccessRanges 而不是 VideoPortGetBusData 来检索其硬件资源。

要求

要求
最低受支持的客户端 适用于 Windows 2000 及更高版本的 Windows 操作系统。
目标平台 桌面
标头 video.h (包括 Video.h)
Library Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

另请参阅

CM_EISA_FUNCTION_INFORMATION

CM_EISA_SLOT_INFORMATION

HwVidQueryDeviceCallback

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

VIDEO_PORT_CONFIG_INFO

VideoPortGetAccessRanges

VideoPortGetDeviceBase

VideoPortGetDeviceData

VideoPortGetRegistryParameters