VideoPortDDCMonitorHelper - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// video.h

VIDEOPORT_DEPRECATED VIDEOPORT_API BOOLEAN VideoPortDDCMonitorHelper(
  [in]      IN PVOID      HwDeviceExtension,
  [in]      IN PVOID      DDCControl,
  [in, out] IN OUT PUCHAR EdidBuffer,
  [in]      IN ULONG      EdidBufferSize
);
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nf-video-videoportddcmonitorhelper)

VideoPortDDCMonitorHelper function

Description

Queries a monitor for EDID information using the DDC protocol.

Parameters

HwDeviceExtension [in]

A pointer to the miniport driver's device extension.

DDCControl [in]

A pointer to a DDC_CONTROL structure.

EdidBuffer [in, out]

A pointer to a buffer in which the video port driver returns the EDID structure. For ACPI devices, the first four bytes are preset by the video port driver to indicate an attempt to read the EDID.

EdidBufferSize [in]

The size in bytes of the buffer to which EdidBuffer points.

Return value

VideoPortDDCMonitorHelper returns TRUE if successful.

Remarks

Note

This function existed prior to the Windows XP release, but has been changed.

The video miniport driver's HwVidGetVideoChildDescriptor function can call VideoPortDDCMonitorHelper for assistance in reading the EDID structure from a DDC2-compliant monitor. VideoPortDDCMonitorHelper implements the details of reading the EDID structure according to the I²C specification, but must call back into the video miniport driver to read and write individual data bits to the I²C serial clock and data lines.

The four functions, implemented by the video miniport driver, that read and write individual bits to the I²C clock and data lines are ReadClockLine, ReadDataLine, WriteClockLine, and WriteDataLine. When the video miniport driver calls VideoPortDDCMonitorHelper, it supplies pointers to those four functions in DDCControl->I2CCallbacks.

The EDID can be obtained using the ACPI_METHOD_OUTPUT_DDC method whose alias is defined in Dispmprt.h. This method is required for integrated LCDs that do not have another standard mechanism for returning EDID data.

In a 256-byte buffer, a caller of this function can receive:

The caller should always ask for the full 256 bytes, because it is impossible to read just the second 128-byte block of the segment.

See also

HwVidGetVideoChildDescriptor

I2C Functions

ReadClockLine

ReadDataLine

WriteClockLine

WriteDataLine