Freigeben über


Verwenden des DECLARE_API-Makros

Jeder Erweiterungsbefehl in einer WdbgExts-Erweiterungs-DLL wird mithilfe des makros DECLARE_API deklariert. Dieses Makro ist in wdbgexts.h definiert.

Das grundlegende Format des Codes für einen Erweiterungsbefehl ist:

DECLARE_API( myextension )
{
    code for myextension
}

Das DECLARE_API Makro richtet eine Standardschnittstelle für Erweiterungsbefehle ein. Wenn der Benutzer beispielsweise Argumente an den Erweiterungsbefehl übergeben hat, wird die gesamte Argumentzeichenfolge als Zeichenfolge gespeichert, und ein Zeiger auf diese Zeichenfolge (PCSTR) wird als Args an die Erweiterungsfunktion übergeben.

Wenn Sie 64-Bit-Zeiger verwenden, wird das makro DECLARE_API wie folgt definiert:

#define DECLARE_API(s)                             \
    CPPMOD VOID                                    \
    s(                                             \
        HANDLE                 hCurrentProcess,    \
        HANDLE                 hCurrentThread,     \
        ULONG64                dwCurrentPc,        \
        ULONG                  dwProcessor,        \
        PCSTR                  args                \
     )

Wenn Sie 32-Bit-Zeiger verwenden, bleibt DECLARE_API gleich, mit der Ausnahme, dass dwCurrentPc den Typ ULONG anstelle von ULONG64 aufweist. 64-Bit-Zeiger werden jedoch für alle Erweiterungen empfohlen, die Sie schreiben. Weitere Informationen finden Sie unter 32-Bit-Zeiger und 64-Bit-Zeiger .