- implemented a couple of DbgUi* APIs introduced in NT 5.1

- implemented RtlExitUserThread

svn path=/trunk/; revision=4463
This commit is contained in:
KJK::Hyperion 2003-03-31 22:32:18 +00:00
parent 279e7acf18
commit 1f3d9b8335
4 changed files with 50 additions and 3 deletions

View file

@ -1,4 +1,4 @@
/* $Id: debug.c,v 1.7 2002/11/03 20:01:06 chorns Exp $
/* $Id: debug.c,v 1.8 2003/03/31 22:32:18 hyperion Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -169,4 +169,40 @@ DbgUiWaitStateChange(ULONG Unknown1,
return STATUS_NOT_IMPLEMENTED;
}
NTSTATUS STDCALL DbgUiRemoteBreakin(VOID)
{
DbgBreakPoint();
RtlExitUserThread(0);
DbgBreakPoint();
}
NTSTATUS STDCALL DbgUiIssueRemoteBreakin(HANDLE Process)
{
HANDLE hThread;
CLIENT_ID cidClientId;
NTSTATUS nErrCode;
nErrCode = RtlCreateUserThread
(
Process,
NULL,
FALSE,
0,
NULL,
NULL,
(PTHREAD_START_ROUTINE)DbgUiRemoteBreakin,
NULL,
&hThread,
&cidClientId
);
if(!NT_SUCCESS(nErrCode)) return nErrCode;
NtClose(hThread);
return STATUS_SUCCESS;
}
/* EOF */

View file

@ -1,4 +1,4 @@
; $Id: ntdll.def,v 1.94 2003/03/26 15:19:28 ekohl Exp $
; $Id: ntdll.def,v 1.95 2003/03/31 22:32:18 hyperion Exp $
;
; ReactOS Operating System
;
@ -28,6 +28,8 @@ DbgSsHandleKmApiMsg@8
DbgSsInitialize@16
DbgUiConnectToDbg@0
DbgUiContinue@8
DbgUiIssueRemoteBreakin@4
DbgUiRemoteBreakin@0
DbgUiWaitStateChange@8
DbgUserBreakPoint@0
;KiRaiseUserExceptionDispatcher
@ -388,6 +390,7 @@ RtlEqualSid@8
RtlEqualString@12
RtlEqualUnicodeString@12
RtlEraseUnicodeString@4
RtlExitUserThread@4
RtlExpandEnvironmentStrings_U@16
;RtlExtendHeap
RtlExtendedIntegerMultiply@12

View file

@ -1,4 +1,4 @@
; $Id: ntdll.edf,v 1.83 2003/03/26 15:19:28 ekohl Exp $
; $Id: ntdll.edf,v 1.84 2003/03/31 22:32:18 hyperion Exp $
;
; ReactOS Operating System
;
@ -28,6 +28,8 @@ DbgSsHandleKmApiMsg=DbgSsHandleKmApiMsg@8
DbgSsInitialize=DbgSsInitialize@16
DbgUiConnectToDbg=DbgUiConnectToDbg@0
DbgUiContinue=DbgUiContinue@8
DbgUiIssueRemoteBreakin=DbgUiIssueRemoteBreakin@4
DbgUiRemoteBreakin=DbgUiRemoteBreakin@0
DbgUiWaitStateChange=DbgUiWaitStateChange@8
DbgUserBreakPoint=DbgUserBreakPoint@0
;KiRaiseUserExceptionDispatcher
@ -388,6 +390,7 @@ RtlEqualSid=RtlEqualSid@8
RtlEqualString=RtlEqualString@12
RtlEqualUnicodeString=RtlEqualUnicodeString@12
RtlEraseUnicodeString=RtlEraseUnicodeString@4
RtlExitUserThread=RtlExitUserThread@4
RtlExpandEnvironmentStrings_U=RtlExpandEnvironmentStrings_U@16
;RtlExtendHeap
RtlExtendedIntegerMultiply=RtlExtendedIntegerMultiply@12

View file

@ -270,4 +270,9 @@ RtlFreeUserThreadStack(HANDLE ProcessHandle,
return(Status);
}
NTSTATUS STDCALL RtlExitUserThread(NTSTATUS Status)
{
return NtTerminateThread(NtCurrentThread(), Status);
}
/* EOF */