Compartir a través de


PDEBUG_EXTENSION_CALL función de devolución de llamada (dbgeng.h)

El motor llama a las funciones de devolución de llamada del tipo PDEBUG_EXTENSION_CALL para ejecutar comandos de extensión. Puede asignar a estas funciones cualquier nombre que desee, siempre y cuando no contenga letras mayúsculas.

Sintaxis

PDEBUG_EXTENSION_CALL PdebugExtensionCall;

HRESULT PdebugExtensionCall(
  [in]           PDEBUG_CLIENT Client,
  [in, optional] PCSTR Args
)
{...}

Parámetros

[in] Client

Especifica un puntero de interfaz al cliente. Esto se puede usar para interactuar con el motor. Normalmente, este es el cliente a través del cual se emitió el comando de extensión.

[in, optional] Args

Especifica los argumentos pasados al comando de extensión. En concreto, si se llamó al comando de extensión desde una línea de comandos, Args contiene el resto de la línea de comandos. Puede ser NULL o estar vacío.

Valor devuelto

Código devuelto Descripción
S_OK
La función se realizó correctamente.
DEBUG_EXTENSION_CONTINUE_SEARCH
Indica que la función no puede controlar el comando o que también se deben ejecutar otras implementaciones del mismo comando en otros archivos DLL de extensión. El motor debe seguir buscando otros archivos DLL de extensión para otra función para controlar el comando. Por ejemplo, esto se puede usar para que todas las funciones de ayuda se ejecuten si cada una devuelve CONTINUE_SEARCH.
 

El motor omite todos los demás valores devueltos.

Comentarios

El nombre de la función se convierte en el nombre del comando de extensión. Al ejecutar un comando de extensión, el motor busca a través de cada uno de los archivos DLL de extensión cargados a su vez, buscando una función exportada que tenga el mismo nombre que el comando. Por ejemplo, al ejecutar el comando !stack, el motor buscará una función exportada denominada stack en cada DLL de extensión cargada. Para obtener información sobre el orden en el que se buscan los archivos DLL de extensión de extensión, vea Usar comandos de extensión del depurador.

La función de extensión debe usar el cliente que se le pasó en Client para toda la interacción con el motor, a menos que tenga una razón específica para usar otro cliente. La función de extensión no debe mantener el puntero al objeto de cliente una vez finalizada.

DebugExtensionCall se llama PDEBUG_EXTENSION_CALL en el archivo de encabezado Dbgeng.h.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dbgeng.h

Consulte también

IDebugClient