Allocate a larger storage for the request buffer. It is necessary since
the latest changeing in ntdll for csrss connections.
Modified: trunk/reactos/subsys/csrss/api/wapi.c
_____
Modified: trunk/reactos/subsys/csrss/api/wapi.c
--- trunk/reactos/subsys/csrss/api/wapi.c 2005-09-08 20:16:36 UTC
(rev 17749)
+++ trunk/reactos/subsys/csrss/api/wapi.c 2005-09-08 20:18:46 UTC
(rev 17750)
@@ -177,7 +177,8 @@
ServerApiPortThread (PVOID PortHandle)
{
NTSTATUS Status = STATUS_SUCCESS;
- PORT_MESSAGE Request;
+ BYTE RawRequest[sizeof(PORT_MESSAGE) + sizeof(CSR_CONNECTION_INFO)];
+ PPORT_MESSAGE Request = (PPORT_MESSAGE)RawRequest;
HANDLE hApiListenPort = * (PHANDLE) PortHandle;
HANDLE ServerPort = (HANDLE) 0;
HANDLE ServerThread = (HANDLE) 0;
@@ -192,10 +193,10 @@
REMOTE_PORT_VIEW LpcRead;
ServerPort = NULL;
- Status = NtListenPort (hApiListenPort, &Request);
+ Status = NtListenPort (hApiListenPort, Request);
if (!NT_SUCCESS(Status))
{
- DPRINT1("CSR: NtListenPort() failed\n");
+ DPRINT1("CSR: NtListenPort() failed, status=%x\n", Status);
break;
}
Status = NtAcceptConnectPort(& ServerPort,
@@ -210,11 +211,11 @@
break;
}
- ProcessData =
CsrCreateProcessData(Request.ClientId.UniqueProcess);
+ ProcessData =
CsrCreateProcessData(Request->ClientId.UniqueProcess);
if (ProcessData == NULL)
{
DPRINT1("Unable to allocate or find data for process
0x%x\n",
- Request.ClientId.UniqueProcess);
+ Request->ClientId.UniqueProcess);
Status = STATUS_UNSUCCESSFUL;
break;
}