HANDLE CsrPortHeap;
ULONG_PTR CsrPortMemoryDelta;
BOOLEAN InsideCsrProcess = FALSE;
-BOOLEAN UsingOldCsr = TRUE;
typedef NTSTATUS
(NTAPI *PCSR_SERVER_API_ROUTINE)(IN PPORT_MESSAGE Request,
PCSR_SERVER_API_ROUTINE CsrServerApiRoutine;
#define UNICODE_PATH_SEP L"\\"
-#define CSR_PORT_NAME L"ApiPort"
/* FUNCTIONS *****************************************************************/
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",
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);
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);
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,
*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
{