Partilhar via


Usando a macro DECLARE_API

Cada comando de extensão em uma DLL de extensão WdbgExts é declarado usando a macro DECLARE_API. Esta macro é definida em wdbgexts.h.

O formato básico do código para um comando de extensão é:

DECLARE_API( myextension )
{
    code for myextension
}

A macro DECLARE_API configura uma interface padrão para comandos de extensão. Por exemplo, se o usuário passou quaisquer argumentos para o comando extension, toda a cadeia de caracteres do argumento será armazenada como uma cadeia de caracteres e um ponteiro para essa cadeia de caracteres (PCSTR) será passado para a função de extensão como args.

Se você estiver usando ponteiros de 64 bits, a macro DECLARE_API é definida da seguinte maneira:

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

Se você estiver usando ponteiros de 32 bits, DECLARE_API permanecerá o mesmo, exceto que dwCurrentPc será do tipo ULONG em vez de ULONG64. No entanto, ponteiros de 64 bits são recomendados para qualquer extensão que estejas a escrever. Consulte Ponteiros de 32 bits e Ponteiros de 64 bits para obter detalhes.