Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++ BUILD Version: 0001 // Increment this if a change has global effects
Copyright (c) 1989 Microsoft Corporation
Module Name:
dbgk.h
Abstract:
This header file describes public data structures and functions that make up the kernel mode portion of the Dbg subsystem.
Author:
Mark Lucovsky (markl) 19-Jan-1990
Revision History:
--*/
#ifndef _DBGK_
#define _DBGK_
//
// Define the debug object thats used to atatch to processes that are being debugged.
//
#define DEBUG_OBJECT_DELETE_PENDING (0x1) // Debug object is delete pending.
#define DEBUG_OBJECT_KILL_ON_CLOSE (0x2) // Kill all debugged processes on close
typedef struct _DEBUG_OBJECT { //
// Event thats set when the EventList is populated.
//
KEVENT EventsPresent; //
// Mutex to protect the structure
//
FAST_MUTEX Mutex; //
// Queue of events waiting for debugger intervention
//
LIST_ENTRY EventList; //
// Flags for the object
//
ULONG Flags; } DEBUG_OBJECT, *PDEBUG_OBJECT;
VOID DbgkCreateThread( PETHREAD Thread, PVOID StartAddress );
VOID DbgkExitThread( NTSTATUS ExitStatus );
VOID DbgkExitProcess( NTSTATUS ExitStatus );
VOID DbgkMapViewOfSection( IN HANDLE SectionHandle, IN PVOID BaseAddress, IN ULONG SectionOffset, IN ULONG_PTR ViewSize );
VOID DbgkUnMapViewOfSection( IN PVOID BaseAddress );
BOOLEAN DbgkForwardException ( IN PEXCEPTION_RECORD ExceptionRecord, IN BOOLEAN DebugException, IN BOOLEAN SecondChance );
NTSTATUS DbgkInitialize ( VOID );
VOID DbgkCopyProcessDebugPort ( IN PEPROCESS TargetProcess, IN PEPROCESS SourceProcess );
NTSTATUS DbgkOpenProcessDebugPort ( IN PEPROCESS TargetProcess, IN KPROCESSOR_MODE PreviousMode, OUT HANDLE *pHandle );
NTSTATUS DbgkClearProcessDebugObject ( IN PEPROCESS Process, IN PDEBUG_OBJECT SourceDebugObject );
extern POBJECT_TYPE DbgkDebugObjectType;
#endif // _DBGK_
|