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_INFO 的 ChildDescriptorSize 成员中的视频端口驱动程序指定。
[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_DATA 的 AllowEarlyEnumeration 成员。 设置 AllowEarlyEnumeration 时,可以随时调用 HwVidGetVideoChildDescriptor 。
HwVidGetVideoChildDescriptor 应执行以下操作:
- 根据 ChildEnumInfo 中提供的数据确定子设备的类型,并在 VideoChildType 中返回此类型。
- 根据 VideoChildType 的值,使用适当的数据填充 pChildDescriptor 指向的缓冲区。
- 在 UId 中编写一个 32 位值,用于唯一标识要枚举的子设备。 视频端口驱动程序会将此句柄传递回微型端口驱动程序,以便执行电源管理等操作。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | video.h (包括 Video.h) |