Delen via


Clientobjecten en de motor

Een EngExtCpp-extensie communiceert met de foutopsporingsprogramma-engine via een clientobject. Interfacepointers naar het clientobject zijn beschikbaar voor de extensie via leden van de ExtExtension-basisklasse . De volgende leden bieden toegang tot de eerste versie van de API-interfaces van de engine.

Engine API-interface Lid van ExtExtension

IDebugAdvanced

m_Advanced

IDebugClient

m_Client

IDebugControl

m_Control

IDebugDataSpaces

m_Data

IDebugRegisters

m_Registers

IDebugSymbols

m_Symbols

IDebugSystemObjects

m_System

De volgende leden bieden toegang tot latere versies van de API-interfaces van de engine. Deze interfaces zijn mogelijk niet beschikbaar in alle versies van de foutopsporingsprogramma-engine. Als ze niet beschikbaar zijn, leidt een poging om ze te gebruiken tot een uitzondering.

Engine-API-interface ExtExtension-lid

IDebugAdvanced2

m_Advanced2

IDebugAdvanced3

m_Advanced3

IDebugClient2

m_Client2

IDebugClient3

m_Client3

IDebugClient4

m_Client4

IDebugClient5

m_Client5

IDebugControl2

m_Control2

IDebugControl3

m_Control3

IDebugControl4

m_Control4

IDebugData2

m_Data2

IDebugData3

m_Data3

IDebugData4

m_Data4

IDebugRegisters2

m_Registers2

IDebugSymbols2

m_Symbols2

IDebugSymbols3

m_Symbols3

IDebugSystemObjects2

m_System2

IDebugSystemObjects3

m_System3

IDebugSystemObjects4

m_System4

De leden in deze tabellen worden geïnitialiseerd telkens wanneer de extensiebibliotheek wordt gebruikt voor het uitvoeren van een extensieopdracht of het opmaken van een structuur voor uitvoer. Zodra een taak is voltooid, worden deze leden niet geïnitialiseerd. Daarom mogen extensies de waarden van deze leden niet opslaan in de cache en moeten ze de ExtExtension-leden rechtstreeks gebruiken.

Een extensiebibliotheek kan ook zijn eigen clientobjecten maken met behulp van de methode IDebugClient::CreateClient of de functies DebugCreate of DebugConnect.

Zie Clientobjecten voor een overzicht van clientobjecten.