CDdcPortAccess Class Reference

class CDdcPortAccess : public CBase

Adaptation API for VESA's E-DDC (Enhanced Display Data Channel) raw read

Inherits from

Constructor & Destructor Documentation

CDdcPortAccess()

CDdcPortAccess()[protected, inline]

~CDdcPortAccess()

~CDdcPortAccess()[inline, virtual]

Member Functions Documentation

ApiVersion()

IMPORT_C TUintApiVersion()[static]

Gets API version number. Compare this to KDdcAccessVersion, must match.

CancelAll()

voidCancelAll()[pure virtual]

Cancels all TRequestStatuses.

ConstructL()

voidConstructL()[protected, pure virtual]

NewL()

IMPORT_C CDdcPortAccess *NewL()[static]

Creates object. Method requires ECapabilityReadDeviceData capability.

Read(TDdcPort, TUint, TDataBlock &, TRequestStatus &)

TInt Read(TDdcPortaDdcPort,
TUintaBlockNumber,
TDataBlock &aDataBlock,
TRequestStatus &aCompletedWhenRead
)[pure virtual]

Starts DDC read from wanted port.

User should first read EMonitorPort, if there is EDID found, then read also EDisplayIdPort. If DisplayID is found from EMonitorPort, then it is not needed to read EDisplayIdPort.

DisplayID is "second generation" of EDID, and it is proposed to be used.

See the method reads one TDataBlock, and it size is double of one EDID block, so the first EDID read might get base-EDID and first extension, if exists. With variable size DisplayID, method reads anyway whole size of TDataBlock, even DisplayID section is smaller.

Parameters

TDdcPort aDdcPortDDC port which to be read
TUint aBlockNumberDatablock which to be read (parameter maps to segment-register 0x60)
TDataBlock & aDataBlockMethod fills this with read values. Ensure that this data exists all the time, be careful if local variable.
TRequestStatus & aCompletedWhenReadWill be completed when ready, if no errors, then aDataBlock contains read values