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 中的任何内容。 |
其他 | 子设备具有与之关联的单独设备驱动程序。 微型端口驱动程序应将设备的 PnP 硬件标识符作为 pChildDescriptor 指向的缓冲区中的 Unicode 字符串返回。 此字符串必须与驱动程序 INF 文件中指定的 设备 ID 匹配。 作系统将使用它作为此设备的硬件 ID。 |
[out] pChildDescriptor
指向微型端口驱动程序可以返回标识设备的数据的缓冲区的指针。 返回的信息取决于 VideoChildType中指定的子类型。 此缓冲区的大小由 ChildDescriptorSizeVIDEO_CHILD_ENUM_INFO成员中的视频端口驱动程序指定。
[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 中标识的子设备。 停止枚举。 无需再枚举任何设备。 |
言论
默认情况下,HwVidGetVideoChildDescriptor 直到 HwVidFindAdapter启动设备后才会调用。 若要在启动设备之前允许枚举设备的子项,请设置 VIDEO_HW_INITIALIZATION_DATA的 AllowEarlyEnumeration 成员。 AllowEarlyEnumeration 设置后,可以随时调用 HwVidGetVideoChildDescriptor。
HwVidGetVideoChildDescriptor 应执行以下作:
- 根据 ChildEnumInfo中提供的数据确定子设备的类型,并在 videoChildType 中返回此类型。
- 根据 VideoChildType的值,填充 pChildDescriptor 指向的缓冲区。
- 在 UId 中编写一个 32 位值,用于唯一标识要枚举的子设备。 视频端口驱动程序会将此句柄传回微型端口驱动程序,以便进行电源管理等作。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | video.h (include Video.h) |