mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 04:13:31 +00:00
- Implement the entire kernel-mode native interface of Debug Objects, minus a few missing operations in NtWaitForDebugEvent:
- NtCreateDebugObject, NtDebugContinue, NtDebugActiveProcess, NtRemoveProcessDebug, NtSetInformationDebugObject, NtWaitForDebugEvent. - Of course, the entire backend is stubbed out. - Implement Debug object initialization (not called yet) and close(not done) and delete (done) callbacks. svn path=/trunk/; revision=24572
This commit is contained in:
@@ -1099,6 +1099,25 @@ extern "C" {
|
||||
#define STATUS_CLUSTER_NETWORK_NOT_INTERNAL ((NTSTATUS)0xC0130016L)
|
||||
#define STATUS_CLUSTER_POISONED ((NTSTATUS)0xC0130017L)
|
||||
|
||||
/*
|
||||
* Debug codes
|
||||
*/
|
||||
|
||||
#define DBG_EXCEPTION_HANDLED ((NTSTATUS)0x00010001)
|
||||
#define DBG_CONTINUE ((NTSTATUS)0x00010002)
|
||||
#define DBG_REPLY_LATER ((NTSTATUS)0x40010001)
|
||||
#define DBG_UNABLE_TO_PROVIDE_HANDLE ((NTSTATUS)0x40010002)
|
||||
#define DBG_TERMINATE_THREAD ((NTSTATUS)0x40010003)
|
||||
#define DBG_TERMINATE_PROCESS ((NTSTATUS)0x40010004)
|
||||
#define DBG_CONTROL_C ((NTSTATUS)0x40010005)
|
||||
#define DBG_PRINTEXCEPTION_C ((NTSTATUS)0x40010006)
|
||||
#define DBG_RIPEXCEPTION ((NTSTATUS)0x40010007)
|
||||
#define DBG_CONTROL_BREAK ((NTSTATUS)0x40010008)
|
||||
#define DBG_COMMAND_EXCEPTION ((NTSTATUS)0x40010009)
|
||||
#define DBG_EXCEPTION_NOT_HANDLED ((NTSTATUS)0x80010001)
|
||||
#define DBG_NO_STATE_CHANGE ((NTSTATUS)0xC0010001)
|
||||
#define DBG_APP_NOT_IDLE ((NTSTATUS)0xC0010002)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -30,6 +30,7 @@ Author:
|
||||
//
|
||||
#define DEBUG_OBJECT_WAIT_STATE_CHANGE 0x0001
|
||||
#define DEBUG_OBJECT_ADD_REMOVE_PROCESS 0x0002
|
||||
#define DEBUG_OBJECT_SET_INFORMATION 0x0004
|
||||
#define DEBUG_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x0F)
|
||||
|
||||
//
|
||||
@@ -172,8 +173,8 @@ typedef struct _DBGUI_WAIT_STATE_CHANGE
|
||||
typedef struct _DBGKM_MSG
|
||||
{
|
||||
PORT_MESSAGE h;
|
||||
ULONG Opcode;
|
||||
ULONG Status;
|
||||
ULONG ApiNumber;
|
||||
ULONG ReturnedStatus;
|
||||
union
|
||||
{
|
||||
DBGKM_EXCEPTION Exception;
|
||||
@@ -186,4 +187,25 @@ typedef struct _DBGKM_MSG
|
||||
};
|
||||
} DBGKM_MSG, *PDBGKM_MSG;
|
||||
|
||||
#ifndef NTOS_MODE_USER
|
||||
|
||||
//
|
||||
// Debug Event
|
||||
//
|
||||
typedef struct _DEBUG_EVENT
|
||||
{
|
||||
LIST_ENTRY EventList;
|
||||
KEVENT ContinueEvent;
|
||||
CLIENT_ID ClientId;
|
||||
PEPROCESS Process;
|
||||
PETHREAD Thread;
|
||||
NTSTATUS Status;
|
||||
ULONG Flags;
|
||||
PETHREAD BackoutThread;
|
||||
DBGKM_MSG ApiMsg;
|
||||
} DEBUG_EVENT, *PDEBUG_EVENT;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user