PVIDEO_HW_GET_CHILD_DESCRIPTOR回调函数 (video.h)

HwVidGetVideoChildDescriptor 返回显示适配器的特定子设备的描述符、类型和标识号。

语法

PVIDEO_HW_GET_CHILD_DESCRIPTOR PvideoHwGetChildDescriptor;

VP_STATUS PvideoHwGetChildDescriptor(
  [in]  IN PVOID HwDeviceExtension,
  [in]  IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
  [out] OUT PVIDEO_CHILD_TYPE VideoChildType,
  [out] OUT PUCHAR pChildDescriptor,
  [out] OUT PULONG UId,
  [out] OUT PULONG pUnused
)
{...}

参数

[in] HwDeviceExtension

指向微型端口驱动程序的每个适配器存储区域的指针。 有关详细信息,请参阅 设备扩展

[in] ChildEnumInfo

描述要枚举的设备 VIDEO_CHILD_ENUM_INFO 结构。

[out] VideoChildType

指向微型端口驱动程序返回要枚举的子级类型的位置的指针。 此成员可以是以下VIDEO_CHILD_TYPE枚举之一:

含义
监视 子设备是监视器。 如果微型端口驱动程序检测到监视器具有与之关联的 DDC2 兼容 EDID 结构,则微型端口驱动程序应从监视器中提取 EDID 信息,并将其返回到 pChildDescriptor 指向的缓冲区中。 微型端口驱动程序可以通过调用 VideoPortDDCMonitorHelper 更轻松地从监视器获取 EDID。
如果检测到的监视器不符合 DDC2,微型端口驱动程序不应在 pChildDescriptor 中返回任何内容。
NonPrimaryChip 保留供系统使用。
VideoChip 子设备是图形芯片。
当 ChildEnumInfo.ChildIndex DISPLAY_ADAPTER_HW_ID时,微型端口驱动程序应返回此类型。 微型端口驱动程序不应在 pChildDescriptor 中返回任何内容。
其他 子设备具有与之关联的单独设备驱动程序。
微型端口驱动程序应在 pChildDescriptor 指向的缓冲区中以 Unicode 字符串的形式返回设备的 PnP 硬件标识符。 此字符串必须与驱动程序的 INF 文件中指定的 设备 ID 匹配。 操作系统将使用它作为此设备的硬件 ID。

[out] pChildDescriptor

指向微型端口驱动程序可在其中返回标识设备的数据的缓冲区的指针。 返回的信息取决于 VideoChildType 中指定的子类型。 此缓冲区的大小由 VIDEO_CHILD_ENUM_INFOChildDescriptorSize 成员中的视频端口驱动程序指定。

[out] UId

指向微型端口驱动程序返回此设备的唯一 32 位 设备 ID 的位置的指针。 当设备是实际显示适配器时,微型端口驱动程序应将 UId 设置为DISPLAY_ADAPTER_HW_ID。

[out] pUnused

未使用,并且必须设置为零。

返回值

HwVidGetVideoChildDescriptor 返回以下值之一:

返回代码 说明
VIDEO_ENUM_INVALID_DEVICE 再次调用 。 微型端口驱动程序无法枚举 ChildEnumInfo 中标识的子设备,但还有更多设备要枚举。
VIDEO_ENUM_MORE_DEVICES 枚举新的子设备。 在这种情况下,视频端口将再次调用 HwVidGetVideoChildDescriptor。
VIDEO_ENUM_NO_MORE_DEVICES 微型端口驱动程序无法枚举在 ChildEnumInfo 中标识的子设备。 停止枚举。 没有更多要枚举的设备。

注解

默认情况下,除非 HwVidFindAdapter 启动设备,否则不会调用 HwVidGetVideoChildDescriptor 若要在设备启动之前允许枚举设备的子级,请设置 VIDEO_HW_INITIALIZATION_DATAAllowEarlyEnumeration 成员。 设置 AllowEarlyEnumeration 时,可以随时调用 HwVidGetVideoChildDescriptor

HwVidGetVideoChildDescriptor 应执行以下操作:

  • 根据 ChildEnumInfo 中提供的数据确定子设备的类型,并在 VideoChildType 中返回此类型。
  • 根据 VideoChildType 的值,使用适当的数据填充 pChildDescriptor 指向的缓冲区。
  • UId 中编写一个 32 位值,用于唯一标识要枚举的子设备。 视频端口驱动程序会将此句柄传递回微型端口驱动程序,以便执行电源管理等操作。
应使 HwVidGetVideoChildDescriptor 可分页。

要求

要求
目标平台 桌面
标头 video.h (包括 Video.h)

另请参阅

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren