Commit f7c48da3 authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Implement DbgUiGet/SetThreadDebugObject().

parent b6292124
...@@ -38,10 +38,10 @@ ...@@ -38,10 +38,10 @@
@ stub DbgUiContinue @ stub DbgUiContinue
@ stub DbgUiConvertStateChangeStructure @ stub DbgUiConvertStateChangeStructure
# @ stub DbgUiDebugActiveProcess # @ stub DbgUiDebugActiveProcess
# @ stub DbgUiGetThreadDebugObject @ stdcall DbgUiGetThreadDebugObject()
@ stdcall DbgUiIssueRemoteBreakin(long) @ stdcall DbgUiIssueRemoteBreakin(long)
@ stdcall DbgUiRemoteBreakin(ptr) @ stdcall DbgUiRemoteBreakin(ptr)
# @ stub DbgUiSetThreadDebugObject @ stdcall DbgUiSetThreadDebugObject(long)
# @ stub DbgUiStopDebugging # @ stub DbgUiStopDebugging
@ stub DbgUiWaitStateChange @ stub DbgUiWaitStateChange
@ stdcall DbgUserBreakPoint() @ stdcall DbgUserBreakPoint()
......
...@@ -119,6 +119,22 @@ NTSTATUS WINAPI RtlCreateUserProcess( UNICODE_STRING *path, ULONG attributes, ...@@ -119,6 +119,22 @@ NTSTATUS WINAPI RtlCreateUserProcess( UNICODE_STRING *path, ULONG attributes,
} }
/*********************************************************************** /***********************************************************************
* DbgUiGetThreadDebugObject (NTDLL.@)
*/
HANDLE WINAPI DbgUiGetThreadDebugObject(void)
{
return NtCurrentTeb()->DbgSsReserved[1];
}
/***********************************************************************
* DbgUiSetThreadDebugObject (NTDLL.@)
*/
void WINAPI DbgUiSetThreadDebugObject( HANDLE handle )
{
NtCurrentTeb()->DbgSsReserved[1] = handle;
}
/***********************************************************************
* DbgUiRemoteBreakin (NTDLL.@) * DbgUiRemoteBreakin (NTDLL.@)
*/ */
void WINAPI DbgUiRemoteBreakin( void *arg ) void WINAPI DbgUiRemoteBreakin( void *arg )
......
...@@ -3020,8 +3020,10 @@ typedef struct _PS_CREATE_INFO ...@@ -3020,8 +3020,10 @@ typedef struct _PS_CREATE_INFO
NTSYSAPI void WINAPI DbgBreakPoint(void); NTSYSAPI void WINAPI DbgBreakPoint(void);
NTSYSAPI NTSTATUS WINAPIV DbgPrint(LPCSTR fmt, ...); NTSYSAPI NTSTATUS WINAPIV DbgPrint(LPCSTR fmt, ...);
NTSYSAPI NTSTATUS WINAPIV DbgPrintEx(ULONG iComponentId, ULONG Level, LPCSTR fmt, ...); NTSYSAPI NTSTATUS WINAPIV DbgPrintEx(ULONG iComponentId, ULONG Level, LPCSTR fmt, ...);
NTSYSAPI HANDLE WINAPI DbgUiGetThreadDebugObject(void);
NTSYSAPI NTSTATUS WINAPI DbgUiIssueRemoteBreakin(HANDLE); NTSYSAPI NTSTATUS WINAPI DbgUiIssueRemoteBreakin(HANDLE);
NTSYSAPI void WINAPI DbgUiRemoteBreakin(void*); NTSYSAPI void WINAPI DbgUiRemoteBreakin(void*);
NTSYSAPI void WINAPI DbgUiSetThreadDebugObject(HANDLE);
NTSYSAPI void WINAPI DbgUserBreakPoint(void); NTSYSAPI void WINAPI DbgUserBreakPoint(void);
NTSYSAPI NTSTATUS WINAPI LdrAccessResource(HMODULE,const IMAGE_RESOURCE_DATA_ENTRY*,void**,PULONG); NTSYSAPI NTSTATUS WINAPI LdrAccessResource(HMODULE,const IMAGE_RESOURCE_DATA_ENTRY*,void**,PULONG);
NTSYSAPI NTSTATUS WINAPI LdrAddDllDirectory(const UNICODE_STRING*,void**); NTSYSAPI NTSTATUS WINAPI LdrAddDllDirectory(const UNICODE_STRING*,void**);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment