Condividi tramite


PDEBUG_EXTENSION_CALL funzione di callback (dbgeng.h)

Le funzioni di callback del tipo PDEBUG_EXTENSION_CALL vengono chiamate dal motore per eseguire comandi di estensione . È possibile assegnare a queste funzioni qualsiasi nome desiderato, purché non contenga lettere maiuscole.

Sintassi

PDEBUG_EXTENSION_CALL PdebugExtensionCall;

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

Parametri

[in] Client

Specifica un puntatore all'interfaccia al client. Può essere usato per interagire con il motore. In genere, si tratta del client tramite il quale è stato eseguito il comando di estensione.

[in, optional] Args

Specifica gli argomenti passati al comando di estensione. In particolare, se il comando di estensione è stato chiamato da una riga di comando, argomenti contiene il resto della riga di comando. Può essere NULL o vuoto.

Valore restituito

Codice restituito Descrizione
S_OK
La funzione ha avuto esito positivo.
DEBUG_EXTENSION_CONTINUE_SEARCH
Indica che la funzione non può gestire il comando o che devono essere eseguite anche altre implementazioni dello stesso comando in altre DLL di estensione. Il motore deve continuare a cercare altre DLL di estensione per un'altra funzione per gestire il comando. Ad esempio, questo può essere usato per eseguire tutte le funzioni della Guida se ognuna restituisce CONTINUE_SEARCH.
 

Tutti gli altri valori restituiti vengono ignorati dal motore.

Osservazioni

Il nome della funzione diventa il nome del comando di estensione. Quando si esegue un comando di estensione, il motore cerca a sua volta ognuna delle DLL di estensione caricate, cercando una funzione esportata con lo stesso nome del comando. Ad esempio, quando si esegue il comando !stack, il motore cercherà una funzione esportata denominata stack in ogni DLL di estensione caricata. Per informazioni sull'ordine di ricerca delle DLL di estensione, vedere Using Debugger Extension Commands.

La funzione di estensione deve usare il client passato in Client per tutte le interazioni con il motore, a meno che non abbia un motivo specifico per usare un altro client. La funzione di estensione non deve mantenere il puntatore all'oggetto client al termine dell'operazione.

DebugExtensionCall viene chiamato PDEBUG_EXTENSION_CALL nel file di intestazione Dbgeng.h.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione dbgeng.h

Vedere anche

IDebugClient