23.3 EDID Discovered Protocol Implementation

This protocol contains the EDID information that is retrieved from the display device attached to a video output controller. This information may differ from the EDID Active Protocol since the EDID Active Protocol takes into account any interaction with the EDID Override Protocol that was consumed by this driver. This protocol is installed on the child handle that represents a video output and must only represent a single video output device. This protocol does not provide any services. It only provides a pointer to a buffer with the EDID formatted data.

Example 233-EDID Discovered Protocol
///
/// This protocol contains the EDID information retrieved from a video output
/// device.
///
typedef struct {
  ///
  /// The size, in bytes, of the Edid buffer. 0 if no EDID information
  /// is available from the video output device. Otherwise, it must be a
  /// minimum of 128 bytes.
  ///
  UINT32 SizeOfEdid;

  ///
  /// A pointer to a read-only array of bytes that contains the EDID
  /// information for an active video output device. This pointer is
  /// NULL if no EDID information is available for the video output
  /// device. The minimum size of a valid Edid buffer is 128 bytes.
  /// EDID information is defined in the E-DID EEPROM
  /// specification published by VESA (www.vesa.org).
  ///
  UINT8 *Edid;
} EFI_EDID_DISCOVERED_PROTOCOL;

extern EFI_GUID gEfiEdidDiscoveredProtocolGuid;