/* INCLUDES *****************************************************************/
-#include <ddk/ntddk.h>
-#include <ntdll/rtl.h>
-#include <rosrtl/string.h>
-#include <rosrtl/thread.h>
-#include <ntdll/dbg.h>
+#include <ntdll.h>
+#define NDEBUG
+#include <debug.h>
/* FUNCTIONS *****************************************************************/
static HANDLE DbgSsApiPort = NULL;
static HANDLE DbgSsReplyPort = NULL;
+static NTSTATUS (STDCALL * DbgSsCallback)(PVOID,PVOID) = NULL;
typedef struct _LPC_DBGSS_MESSAGE
{
- LPC_MESSAGE Header;
+ PORT_MESSAGE Header;
ULONG Unknown1;
ULONG Unknown2;
ULONG Unknown3;
Status = NtReplyWaitReceivePort (DbgSsApiPort,
NULL,
NULL,
- (PLPC_MESSAGE)&Message);
+ (PPORT_MESSAGE)&Message);
if (!NT_SUCCESS(Status))
{
DbgPrint ("DbgSs: NtReplyWaitReceivePort failed - Status == %lx\n",
*/
NTSTATUS STDCALL
DbgSsInitialize(HANDLE ReplyPort,
- ULONG Unknown1,
+ PVOID Callback,
ULONG Unknown2,
ULONG Unknown3)
{
SECURITY_QUALITY_OF_SERVICE Qos;
- UNICODE_STRING PortName = ROS_STRING_INITIALIZER(L"\\DbgSsApiPort");
+ UNICODE_STRING PortName = RTL_CONSTANT_STRING(L"\\DbgSsApiPort");
NTSTATUS Status;
Qos.Length = sizeof(SECURITY_QUALITY_OF_SERVICE);
return Status;
DbgSsReplyPort = ReplyPort;
-// UnknownData1 = Unknown1;
+ DbgSsCallback = Callback;
// UnknownData2 = Unknown2;
// UnknownData3 = Unknown3;
NULL,
FALSE,
0,
- NULL,
- NULL,
+ 0,
+ 0,
(PTHREAD_START_ROUTINE)DbgSsServerThread,
NULL,
NULL,
DbgUiConnectToDbg(VOID)
{
SECURITY_QUALITY_OF_SERVICE Qos;
- UNICODE_STRING PortName = ROS_STRING_INITIALIZER(L"\\DbgUiApiPort");
+ UNICODE_STRING PortName = RTL_CONSTANT_STRING(L"\\DbgUiApiPort");
NTSTATUS Status;
PTEB Teb;
ULONG InfoSize;
* @unimplemented
*/
NTSTATUS STDCALL
-DbgUiWaitStateChange(ULONG Unknown1,
- ULONG Unknown2)
+DbgUiWaitStateChange(PDBGUI_WAIT_STATE_CHANGE DbgUiWaitStateCange,
+ PLARGE_INTEGER TimeOut)
{
return STATUS_NOT_IMPLEMENTED;
}
-NTSTATUS STDCALL DbgUiRemoteBreakin(VOID)
+VOID STDCALL DbgUiRemoteBreakin(VOID)
{
DbgBreakPoint();
- RtlRosExitUserThread(0);
-
- DbgBreakPoint();
- return STATUS_SUCCESS;
+ RtlExitUserThread(STATUS_SUCCESS);
}
NTSTATUS STDCALL DbgUiIssueRemoteBreakin(HANDLE Process)
NULL,
FALSE,
0,
- &nStackSize,
- &nStackSize,
+ nStackSize,
+ nStackSize,
(PTHREAD_START_ROUTINE)DbgUiRemoteBreakin,
NULL,
&hThread,