videoPortDDCMonitorHelper 函数 (video.h)
使用 DDC 协议查询监视器的 EDID 信息。
语法
VIDEOPORT_DEPRECATED VIDEOPORT_API BOOLEAN VideoPortDDCMonitorHelper(
[in] IN PVOID HwDeviceExtension,
[in] IN PVOID DDCControl,
[in, out] IN OUT PUCHAR EdidBuffer,
[in] IN ULONG EdidBufferSize
);
参数
[in] HwDeviceExtension
指向微型端口驱动程序的设备扩展的指针。
[in] DDCControl
指向 DDC_CONTROL 结构的指针。
[in, out] EdidBuffer
指向视频端口驱动程序在其中返回 EDID 结构的缓冲区的指针。 对于 ACPI 设备,视频端口驱动程序会预设前四个字节,以指示尝试读取 EDID。
[in] EdidBufferSize
EdidBuffer 指向的缓冲区的大小(以字节为单位)。
返回值
如果成功,VideoPortDDCMonitorHelper 将返回 TRUE。
注解
此函数在 Windows XP 版本之前就已存在,但已更改。
视频微型端口驱动程序的 HwVidGetVideoChildDescriptor 函数可以调用 VideoPortDDCMonitorHelper ,以获取从 DDC2 兼容监视器读取 EDID 结构的帮助。 VideoPortDDCMonitorHelper 根据 I²C 规范实现读取 EDID 结构的详细信息,但必须回调视频微型端口驱动程序,以便将单个数据位读取和写入 I²C 串行时钟和数据线路。
由视频微型端口驱动程序实现的四个函数,用于读取和写入 I²C 时钟和数据行的各个位: ReadClockLine、 ReadDataLine、 WriteClockLine 和 WriteDataLine。 当视频微型端口驱动程序调用 VideoPortDDCMonitorHelper 时,它会提供指向 DDCControl->I2CCallbacks 中的这四个函数的指针。
可以使用 ACPI_METHOD_OUTPUT_DDC 方法获取 EDID ,该方法的别名在 Dispmprt.h 中定义。 对于没有另一种返回 EDID 数据的标准机制的集成LCD,此方法是必需的。
在 256 字节缓冲区中,此函数的调用方可以接收:
- 一个 128 字节 EDID
- 两个 128 字节EDID
- 一个 256 字节 EDID (从 P&D 显示)
- 无 EDID
调用方应始终请求完整的 256 字节,因为无法仅读取段的第二个 128 字节块。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 2000 及更高版本的 Windows 操作系统中可用。 |
目标平台 | 桌面 |
标头 | video.h (包括 Video.h) |
Library | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | PASSIVE_LEVEL |