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 操作的任何上下文信息。

每次调用微型端口驱动程序的标准函数( DriverEntryHwVidSynchronizeExecutionCallback 和任何 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)

另请参阅

EMULATOR_ACCESS_ENTRY

HwVidLegacyResources

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortZeroMemory