Usando a macro DECLARE_API
Cada comando de extensão em uma DLL de extensão WdbgExts é declarado usando a macro DECLARE_API. Essa 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 argumentos para o comando de extensão, toda a cadeia de caracteres de 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 será 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 você esteja escrevendo. Consulte Ponteiros de 32 bits e Ponteiros de 64 bits para obter detalhes.