windows-nt/Source/XPSP1/NT/sdktools/debuggers/published/ntsdexts.w
2020-09-26 16:20:57 +08:00

95 lines
1.4 KiB
OpenEdge ABL

/*
Copyright (c) Microsoft Corporation. All rights reserved.
Module Name:
ntsdexts.h
Abstract:
This file contains procedure prototypes and structures
needed to write old NTSD and KD debugger extensions.
NOTE: Newer defitions and interfaces are in wdbgexts.h
Environment:
runs in the Win32 NTSD debug environment.
Revision History:
--*/
#ifndef _NTSDEXTNS_
#define _NTSDEXTNS_
#if _MSC_VER > 1000
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef
VOID
(__cdecl *PNTSD_OUTPUT_ROUTINE)(
char *,
...
);
typedef
ULONG_PTR
(*PNTSD_GET_EXPRESSION)(
char *
);
typedef
VOID
(*PNTSD_GET_SYMBOL)(
ULONG_PTR offset,
PUCHAR pchBuffer,
ULONG_PTR *pDisplacement
);
typedef
DWORD
(*PNTSD_DISASM)(
ULONG_PTR *lpOffset,
LPSTR lpBuffer,
ULONG fShowEfeectiveAddress
);
typedef
BOOL
(*PNTSD_CHECK_CONTROL_C)(
VOID
);
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;
typedef
VOID
(*PNTSD_EXTENSION_ROUTINE)(
HANDLE hCurrentProcess,
HANDLE hCurrentThread,
DWORD dwCurrentPc,
PNTSD_EXTENSION_APIS lpExtensionApis,
LPSTR lpArgumentString
);
#ifdef __cplusplus
}
#endif
#endif // _NTSDEXTNS_