Escribir extensiones engExtCpp
La biblioteca de extensiones EngExtCpp puede incluir cualquier código estándar de C++. También puede incluir las interfaces de C++ que aparecen en los archivos de encabezado engextcpp.h y dbgeng.h, además de las funciones de C que aparecen en el archivo de encabezado wdbgexts.h. Tanto dbgeng.h como wdbgexts.h se incluyen en engextcpp.h.
Para obtener una lista completa de las interfaces de dbgeng.h que se pueden usar en un comando de extensión, vea Referencia del motor del depurador.
Para obtener una lista completa de las funciones de wdbgexts.h que se pueden usar en un comando de extensión, vea Funciones WdbgExts. Una serie de estas funciones aparecen en versiones de 32 bits y versiones de 64 bits. Normalmente, las versiones de 64 bits terminan en "64" y las versiones de 32 bits no tienen un final numérico, por ejemplo, ReadIoSpace64 y ReadIoSpace. Al llamar a una función wdbgexts.h desde una extensión DbgEng, siempre debe usar el nombre de la función que termina en "64". Esto se debe a que el motor del depurador siempre usa punteros de 64 bits internamente, independientemente de la plataforma de destino. Al incluir wdbgexts.h, engextcpp.h selecciona la versión de 64 bits de la API. La variable global ExtensionApis usada por la API WDbgExts se inicializa automáticamente al entrar en un método EngExtCpp y se borra al salir.
Cuando se usa una extensión EngExtCpp con interfaces dbgEng remotas, las interfaces WDbgExts no estarán disponibles y la estructura ExtensionApis puede estar cero. Si se espera que una extensión EngExtCpp funcione en este entorno, debe evitar el uso de la API WDbgExts.
Nota No debe intentar llamar a ninguna rutina DbgHelp o ImageHlp desde cualquier extensión del depurador. No se admite llamar a estas rutinas y puede causar una variedad de problemas.