VIDEO_HW_INITIALIZATION_DATA 结构 (video.h)
VIDEO_HW_INITIALIZATION_DATA 结构指定微型端口驱动程序的入口点和存储要求。 此结构在堆栈上创建,并由微型端口驱动程序的 DriverEntry 函数初始化。
语法
typedef struct _VIDEO_HW_INITIALIZATION_DATA {
ULONG HwInitDataSize;
INTERFACE_TYPE AdapterInterfaceType;
PVIDEO_HW_FIND_ADAPTER HwFindAdapter;
PVIDEO_HW_INITIALIZE HwInitialize;
PVIDEO_HW_INTERRUPT HwInterrupt;
PVIDEO_HW_START_IO HwStartIO;
ULONG HwDeviceExtensionSize;
ULONG StartingDeviceNumber;
PVIDEO_HW_RESET_HW HwResetHw;
PVIDEO_HW_TIMER HwTimer;
PVIDEO_HW_START_DMA HwStartDma;
PVIDEO_HW_POWER_SET HwSetPowerState;
PVIDEO_HW_POWER_GET HwGetPowerState;
PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor;
PVIDEO_HW_QUERY_INTERFACE HwQueryInterface;
ULONG HwChildDeviceExtensionSize;
PVIDEO_ACCESS_RANGE HwLegacyResourceList;
ULONG HwLegacyResourceCount;
PVIDEO_HW_LEGACYRESOURCES HwGetLegacyResources;
BOOLEAN AllowEarlyEnumeration;
ULONG Reserved;
} VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;
成员
HwInitDataSize
此结构的大小(以字节为单位)。 实际上,这表示正在使用VIDEO_HW_INITIALIZATION_DATA的版本。
AdapterInterfaceType
当前被视频端口忽略,应保持零初始化状态。
HwFindAdapter
指向微型端口驱动程序的 HwVidFindAdapter 函数的指针,这是所有微型端口驱动程序所必需的。
HwInitialize
指向微型端口驱动程序的 HwVidInitialize 函数的指针,这是所有微型端口驱动程序所必需的。
HwInterrupt
指向微型端口驱动程序的 HwVidInterrupt 函数的指针,仅当微型端口驱动程序的适配器生成中断时才需要该函数。 否则,此指针必须为 NULL。
HwStartIO
指向微型端口驱动程序的 HwVidStartIO 函数的指针,这是所有微型端口驱动程序所必需的。
HwDeviceExtensionSize
指定微型端口驱动程序为其专用的特定于适配器的设备扩展所需的存储大小(以字节为单位)。 微型端口驱动程序使用此存储来保存驱动程序确定的每个适配器信息,例如适配器寄存器的映射逻辑地址范围,以及驱动程序维护的有关其 I/O 操作的任何上下文信息。
每次调用微型端口驱动程序的标准函数( DriverEntry、 HwVidSynchronizeExecutionCallback 和任何 SvgaHwIoPortXxx 函数除外),都会传递指向设备扩展的指针。 视频端口驱动程序为设备扩展分配内存,并在将其传递给微型端口驱动程序的 HwVidFindAdapter 函数之前用零初始化它。
StartingDeviceNumber
必须设置为零。
HwResetHw
指向微型端口驱动程序的 HwVidResetHw 函数的指针,这对于在计算机软重启时未完全重置的适配器的任何微型端口驱动程序是必需的。 收到 INT10 MODE3 类型命令时完全重置为 VGA 标准字符模式的 SVGA 适配器的驱动程序通常将此设置为 NULL。
HwTimer
指向微型端口驱动程序的 HwVidTimer 函数(可选)的指针。 此指针可以为 NULL。
HwStartDma
预留给系统使用。
HwSetPowerState
指向微型端口驱动程序的 HwVidSetPowerState 函数的指针,这是所有微型端口驱动程序所必需的。
HwGetPowerState
指向微型端口驱动程序的 HwVidGetPowerState 函数的指针,这是所有微型端口驱动程序所必需的。
HwGetVideoChildDescriptor
指向微型端口驱动程序的 HwVidGetVideoChildDescriptor 函数的指针,这是所有微型端口驱动程序所必需的。
HwQueryInterface
指向微型端口驱动程序的 HwVidQueryInterface 函数的指针。 这可以在支持设备间通信的外部编程接口(例如 I2C (或 I²C) MPEG 解码器支持)的微型端口驱动程序中实现。 否则,此成员应设置为 NULL。
HwChildDeviceExtensionSize
与显示输出设备关联的设备扩展的大小(以字节为单位)。 仅当微型端口驱动程序需要独立于适配器板配置管理监视器配置数据时,微型端口驱动程序才应填充此成员。
HwLegacyResourceList
指向 VIDEO_ACCESS_RANGE 结构的数组的指针。 每个结构描述未在 PCI 配置空间中列出的视频适配器的设备 I/O 端口或内存范围。
HwLegacyResourceCount
HwLegacyResourceList 指向的数组中的元素数。
HwGetLegacyResources
指向微型端口驱动程序的 HwVidLegacyResources 函数的指针,该函数使驱动程序能够基于其设备和供应商 ID 指定其旧资源。
AllowEarlyEnumeration
允许微型端口驱动程序在适配器启动之前枚举其子设备;也就是说,当此成员设置为 TRUE 时,视频端口驱动程序可以在 HwVidFindAdapter 之前调用 HwVidGetVideoChildDescriptor。
Reserved
预留给系统使用。
注解
微型端口驱动程序的 DriverEntry 函数必须先用零初始化此结构,然后才能在任何成员中设置相关值。
使用指向 HwVidLegacyResources 实现的指针初始化 HwGetLegacyResources 时,视频端口驱动程序将忽略 HwLegacyResourceCount 和 HwLegacyResourceList 成员。
要求
要求 | 值 |
---|---|
Header | video.h (包括 Video.h) |