Freigeben über


PDEBUG_EXTENSION_CALL Rückruffunktion (dbgeng.h)

Rückruffunktionen des Typs PDEBUG_EXTENSION_CALL werden vom Modul aufgerufen, um Erweiterungsbefehleauszuführen. Sie können diesen Funktionen einen beliebigen Namen zuweisen, 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 verwendet werden, um mit dem Modul zu interagieren. 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. 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. Das Modul sollte weiterhin andere Erweiterungs-DLLs durchsuchen, um den Befehl zu verarbeiten. Dies kann z. B. verwendet werden, um alle Hilfefunktionen auszuführen, wenn jeder CONTINUE_SEARCH zurückgibt.
 

Alle anderen Rückgabewerte werden vom Modul ignoriert.

Bemerkungen

Der Name der Funktion wird zum Namen des Erweiterungsbefehls. Wenn Sie einen Erweiterungsbefehl ausführen, durchsucht das Modul die einzelnen geladenen Erweiterungs-DLLs wiederum, und sucht nach einer exportierten Funktion mit demselben Namen wie der Befehl. Wenn Sie beispielsweise den Befehl !stack-ausführen, sucht das Modul nach einer exportierten Funktion mit dem Namen Stapel- in jeder geladenen Erweiterungs-DLL. Informationen zur Reihenfolge, in der Erweiterungs-DLLs durchsucht werden, finden Sie unter Verwenden von Debuggererweiterungsbefehlen.

Die Erweiterungsfunktion sollte den Client verwenden, der in Client- für alle Interaktionen mit dem Modul übergeben wurde, es sei denn, er hat einen bestimmten Grund, einen anderen Client zu verwenden. Die Erweiterungsfunktion sollte den Zeiger auf das Clientobjekt nicht beibehalten, nachdem sie beendet wurde.

DebugExtensionCall wird in der Dbgeng.h-Headerdatei PDEBUG_EXTENSION_CALL aufgerufen.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- dbgeng.h

Siehe auch

IDebugClient-