windows-nt/Source/XPSP1/NT/com/oleutest/oleexts/oleexts.h

108 lines
3.5 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1993.
//
// File: oleexts.h
//
// Contents: macros useful for OLE debugger extensions
//
// Classes: none
//
// Functions: macros for: dprintf
// GetExpression
// GetSymbol
// Disassm
// CheckControlC
// DECLARE_API(...)
//
// History: dd-mmm-yy Author Comment
// 02-Feb-95 t-ScottH author
//
//--------------------------------------------------------------------------
#ifndef _OLEEXTS_H_
#define _OLEEXTS_H_
//
// NTSD_EXTENSION_APIS defined in ntsdexts.h
//
// typedef struct _NTSD_EXTENSION_APIS {
// DWORD nSize;
// PNTSD_OUTPUT_ROUTINE lpOutputRoutine;
// PNTSD_GET_EXPRESSION lpGetExpressionRoutine;
// PNTSD_GET_SYMBOL lpGetSymbolRoutine;
// PNTSD_DISASM lpDisasmRoutine
// PNTSD_CHECK_CONTROL_C lpCheckControlCRoutine;
// }; NTSD_EXTENSION_APIS, *PNTSD_EXTENSION_APIS
//
// the following macros assume global: NTSD_EXTENSION_APIS ExtensionApis
// formatted print like CRT printf
// void dprintf(char *format [, argument] ...);
#define dprintf (ExtensionApis.lpOutputRoutine)
// returns value of expression
// DWORD GetExpression(char *expression);
#define GetExpression (ExtensionApis.lpGetExpressionRoutine)
// locates the nearest symbol
// void GetSymbol(LPVOID address, PUCHAR buffer, LPDWORD lpdwDisplacement);
#define GetSymbol (ExtensionApis.lpGetSymbolRoutine)
// Disassembles an instruction
// DWORD Disassm(LPDWORD lpdwOffset, LPSTR lpBuffer, BOOL fShowEffectiveAddress);
#define Disassm (ExtensionApis.lpGetDisasmRoutine)
// did user press CTRL+C
// BOOL CheckControlC(void);
#define CheckControlC (ExtensionApis.lpCheckControlCRoutine)
//+-------------------------------------------------------------------------
//
// Function Macro: DECLARE_API(...)
//
// Synopsis: definition for an NTSD debugger extension function
//
// Effects:
//
// Arguments: [hCurrentProcess] - Handle to current process
// [hCurrentThread] - Handle to current thread
// [dwCurrentPc] - Copy of the program counter
// [lpExtenisonApis] - pointer to NTSD_EXTENSION_APIS
// (structure function pointers for NTSD)
// [args] - a string of arguments from NTSD cmd line
//
// Requires:
//
// Returns: void
//
// Signals:
//
// Modifies:
//
// Algorithm:
//
// History: dd-mmm-yy Author Comment
// 02-Feb-95 t-ScottH author
//
// Notes:
// we use a function macro for defining our debugger extensions
// functions to allow for easy extensibility
//
// !!!function names MUST be lower case!!!
//
//--------------------------------------------------------------------------
#define DECLARE_API(s) \
VOID \
s( \
HANDLE hCurrentProcess, \
HANDLE hCurrentThread, \
DWORD dwCurrentPc, \
PNTSD_EXTENSION_APIS lpExtensionApis, \
LPSTR args \
)
#endif // _OLEEXTS_H_