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 TUint ApiVersion ( ) [static]

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

CancelAll()

void CancelAll ( ) [pure virtual]

Cancels all TRequestStatuses.

ConstructL()

void ConstructL ( ) [protected, pure virtual]

NewL()

IMPORT_C CDdcPortAccess * NewL ( ) [static]

Creates object. Method requires ECapabilityReadDeviceData capability.

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

TInt Read ( TDdcPort aDdcPort,
TUint aBlockNumber,
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 aDdcPort DDC port which to be read
TUint aBlockNumber Datablock which to be read (parameter maps to segment-register 0x60)
TDataBlock & aDataBlock Method fills this with read values. Ensure that this data exists all the time, be careful if local variable.
TRequestStatus & aCompletedWhenRead Will be completed when ready, if no errors, then aDataBlock contains read values