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
指定在 BusDataType 为 PCIConfiguration 时应检索的 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 |