Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 49 of file csr.c.
Referenced by co_IntRegisterLogonProcess(), co_IntShowDesktop(), and NtUserCreateDesktop().
{ NTSTATUS Status; PEPROCESS OldProcess; if (NULL == CsrProcess) { return STATUS_INVALID_PORT_HANDLE; } Request->Header.u2.ZeroInit = 0; Request->Header.u1.s1.DataLength = sizeof(CSR_API_MESSAGE) - sizeof(PORT_MESSAGE); Request->Header.u1.s1.TotalLength = sizeof(CSR_API_MESSAGE); /* Switch to the process in which the WindowsApiPort handle is valid */ OldProcess = PsGetCurrentProcess(); if (CsrProcess != OldProcess) { KeAttachProcess(&CsrProcess->Pcb); } UserLeaveCo(); Status = ZwRequestWaitReplyPort(WindowsApiPort, &Request->Header, &Request->Header); UserEnterCo(); if (CsrProcess != OldProcess) { KeDetachProcess(); } if (NT_SUCCESS(Status)) { Status = Request->Status; } return Status; }