Freigeben über


PDEBUG_EXTENSION_CALL Rückruffunktion (dbgeng.h)

Rückruffunktionen vom Typ PDEBUG_EXTENSION_CALL werden von der Engine aufgerufen, um Erweiterungsbefehle auszuführen. Sie können diesen Funktionen einen beliebigen Namen geben, solange sie keine Großbuchstaben enthält.

Syntax

PDEBUG_EXTENSION_CALL PdebugExtensionCall;

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

Parameter

[in] Client

Gibt einen Schnittstellenzeiger auf den Client an. Dies kann für die Interaktion mit der Engine verwendet werden. In der Regel ist dies der Client, über den der Erweiterungsbefehl ausgegeben wurde.

[in, optional] Args

Gibt die Argumente an, die an den Erweiterungsbefehl übergeben werden. Insbesondere wenn der Erweiterungsbefehl über eine Befehlszeile aufgerufen wurde, enthält Args den Rest der Befehlszeile. Es kann NULL oder leer sein.

Rückgabewert

Rückgabecode BESCHREIBUNG
S_OK
Die Funktion war erfolgreich.
DEBUG_EXTENSION_CONTINUE_SEARCH
Gibt an, dass die Funktion den Befehl nicht verarbeiten kann oder dass auch andere Implementierungen desselben Befehls in anderen Erweiterungs-DLLs ausgeführt werden sollen. Die Engine sollte mit der Suche nach anderen Erweiterungs-DLLs nach einer anderen Funktion fortfahren, um den Befehl zu verarbeiten. Dies kann beispielsweise verwendet werden, damit alle Hilfefunktionen ausgeführt werden, wenn jede CONTINUE_SEARCH zurückgibt.
 

Alle anderen Rückgabewerte werden von der Engine ignoriert.

Hinweise

Der Name der Funktion wird zum Namen des Erweiterungsbefehls. Beim Ausführen eines Erweiterungsbefehls durchsucht die Engine nacheinander jede der geladenen Erweiterungs-DLLs und sucht nach einer exportierten Funktion, die denselben Namen wie der Befehl hat. Wenn Sie beispielsweise den Befehl !stack ausführen, sucht die Engine in jeder geladenen Erweiterungs-DLL nach einer exportierten Funktion namens stack . Informationen zur Reihenfolge, in der Erweiterungs-DLLs durchsucht werden, finden Sie unter Verwenden von Debuggererweiterungsbefehlen.

Die Erweiterungsfunktion sollte den Client verwenden, der in Client an sie übergeben wurde, für jede Interaktion mit der Engine, es sei denn, sie hat einen bestimmten Grund, einen anderen Client zu verwenden. Die Erweiterungsfunktion sollte den Zeiger auf das Clientobjekt nicht beibehalten, nachdem es abgeschlossen ist.

DebugExtensionCall wird PDEBUG_EXTENSION_CALL in der Headerdatei Dbgeng.h aufgerufen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h

Weitere Informationen

IDebugClient