Delen via


EngExtCpp-extensies schrijven

De EngExtCpp-extensiebibliotheek kan elke standaard C++-code bevatten. Het kan ook de C++-interfaces bevatten die worden weergegeven in de headerbestanden engextcpp.h en dbgeng.h, naast de C-functies die worden weergegeven in het headerbestand wdbgexts.h. Zowel dbgeng.h als wdbgexts.h zijn inbegrepen bij engextcpp.h.

Zie Debugger Engine Reference voor een volledige lijst met interfaces in dbgeng.h die kunnen worden gebruikt in een extensieopdracht.

Zie WdbgExts Functions voor een volledige lijst met functies in wdbgexts.h die kunnen worden gebruikt in een extensieopdracht. Een aantal van deze functies wordt weergegeven in 32-bits versies en 64-bits versies. Normaal gesproken eindigen de 64-bits versies op '64' en de 32-bits versies hebben geen numerieke einden, bijvoorbeeld ReadIoSpace64 en ReadIoSpace. Wanneer u een wdbgexts.h-functie aanroept vanuit een DbgEng-extensie, moet u altijd de functienaam gebruiken die eindigt op '64'. Dit komt doordat de foutopsporingsprogramma-engine altijd intern 64-bits aanwijzers gebruikt, ongeacht het doelplatform. Wanneer u wdbgexts.h opsluit, selecteert engextcpp.h de 64-bits versie van de API. De globale variabele ExtensionApis die door de WDbgExts-API wordt gebruikt, wordt automatisch geïnitialiseerd bij het invoeren van een EngExtCpp-methode en gewist bij afsluiten.

Wanneer een EngExtCpp-extensie wordt gebruikt met remote DbgEng-interfaces, zijn de WDbgExts-interfaces niet beschikbaar en kan de ExtensionApis-structuur op nul worden gezet. Als een EngExtCpp-extensie naar verwachting functioneert in een dergelijke omgeving, moet het gebruik van de WDbgExts-API worden vermeden.

Notitie U mag geen Routines voor HetHelp- of ImageHlp-bestand aanroepen vanuit een extensie voor foutopsporingsprogramma's. Het aanroepen van deze routines wordt niet ondersteund en kan verschillende problemen veroorzaken.