[NTDLL]
[reactos.git] / dll / ntdll / csr / connect.c
index dc6bb7c..236ac26 100644 (file)
@@ -19,7 +19,6 @@ HANDLE CsrProcessId;
 HANDLE CsrPortHeap;
 ULONG_PTR CsrPortMemoryDelta;
 BOOLEAN InsideCsrProcess = FALSE;
-BOOLEAN UsingOldCsr = TRUE;
 
 typedef NTSTATUS
 (NTAPI *PCSR_SERVER_API_ROUTINE)(IN PPORT_MESSAGE Request,
@@ -28,7 +27,6 @@ typedef NTSTATUS
 PCSR_SERVER_API_ROUTINE CsrServerApiRoutine;
 
 #define UNICODE_PATH_SEP L"\\"
-#define CSR_PORT_NAME L"ApiPort"
 
 /* FUNCTIONS *****************************************************************/
 
@@ -64,8 +62,7 @@ CsrClientCallServer(PCSR_API_MESSAGE ApiMessage,
     ApiMessage->Header.u1.s1.TotalLength = RequestLength;
 
     /* Fill out the CSR Header */
-    ApiMessage->Type = ApiNumber;
-    //ApiMessage->Opcode = ApiNumber; <- Activate with new CSR
+    ApiMessage->ApiNumber = ApiNumber;
     ApiMessage->CsrCaptureData = NULL;
 
     DPRINT("API: %lx, u1.s1.DataLength: %x, u1.s1.TotalLength: %x\n", 
@@ -151,7 +148,7 @@ CsrClientCallServer(PCSR_API_MESSAGE ApiMessage,
     else
     {
         /* This is a server-to-server call. Save our CID and do a direct call */
-        DbgBreakPoint();
+        DPRINT1("Next gen server-to-server call\n");
         ApiMessage->Header.ClientId = NtCurrentTeb()->ClientId;
         Status = CsrServerApiRoutine(&ApiMessage->Header,
                                      &ApiMessage->Header);
@@ -333,9 +330,8 @@ CsrClientConnectToServer(PWSTR ObjectDirectory,
     HANDLE hCsrSrv;
     ANSI_STRING CsrServerRoutineName;
     PCSR_CAPTURE_BUFFER CaptureBuffer;
-    CSR_API_MESSAGE RosApiMessage;
-    CSR_API_MESSAGE2 ApiMessage;
-    PCSR_CLIENT_CONNECT ClientConnect = &ApiMessage.ClientConnect;
+    CSR_API_MESSAGE ApiMessage;
+    PCSR_CLIENT_CONNECT ClientConnect = &ApiMessage.Data.CsrClientConnect;
 
     /* Validate the Connection Info */
     DPRINT("CsrClientConnectToServer: %lx %p\n", ServerId, ConnectionInfo);
@@ -366,10 +362,10 @@ CsrClientConnectToServer(PWSTR ObjectDirectory,
     InsideCsrProcess = (NtHeader->OptionalHeader.Subsystem == IMAGE_SUBSYSTEM_NATIVE);
 
     /* Now we can check if we are inside or not */
-    if (InsideCsrProcess && !UsingOldCsr)
+    if (InsideCsrProcess)
     {
         /* We're inside, so let's find csrsrv */
-        DbgBreakPoint();
+        DPRINT1("Next-GEN CSRSS support\n");
         RtlInitUnicodeString(&CsrSrvName, L"csrsrv");
         Status = LdrGetDllHandle(NULL,
                                  NULL,
@@ -435,17 +431,16 @@ CsrClientConnectToServer(PWSTR ObjectDirectory,
         *ConnectionInfoSize = ClientConnect->ConnectionInfoSize;
 
         /* Call CSR */
-#if 0
         Status = CsrClientCallServer(&ApiMessage,
                                      CaptureBuffer,
-                                     CSR_MAKE_OPCODE(CsrSrvClientConnect,
-                                                     CSR_SRV_DLL),
+                                     CSR_CREATE_API_NUMBER(CSR_SRV_DLL, CsrpClientConnect),
                                      sizeof(CSR_CLIENT_CONNECT));
-#endif
-        Status = CsrClientCallServer(&RosApiMessage,
-                                     NULL,
-                                     MAKE_CSR_API(CONNECT_PROCESS, CSR_NATIVE),
+/*
+        Status = CsrClientCallServer(&ApiMessage,
+                                     CaptureBuffer,
+                                     CSR_CREATE_API_NUMBER(CSR_NATIVE, CONNECT_PROCESS),
                                      sizeof(CSR_API_MESSAGE));
+*/
     }
     else
     {