diff --git a/sdk/include/reactos/subsys/csr/csr.h b/sdk/include/reactos/subsys/csr/csr.h index ae531e2a0ae..bfa59b60465 100644 --- a/sdk/include/reactos/subsys/csr/csr.h +++ b/sdk/include/reactos/subsys/csr/csr.h @@ -1,10 +1,9 @@ /* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS Client/Server Runtime SubSystem - * FILE: include/reactos/subsys/csr/csr.h - * PURPOSE: Public definitions for CSR Clients - * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org) - * Hermes Belusca-Maito (hermes.belusca@sfr.fr) + * PROJECT: ReactOS Client/Server Runtime SubSystem + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Public definitions for CSR Clients + * COPYRIGHT: Copyright 2005 Alex Ionescu + * Copyright 2012-2022 Hermès Bélusca-Maïto */ #ifndef _CSR_H @@ -14,71 +13,88 @@ NTSTATUS NTAPI -CsrClientConnectToServer(IN PWSTR ObjectDirectory, - IN ULONG ServerId, - IN PVOID ConnectionInfo, - IN OUT PULONG ConnectionInfoSize, - OUT PBOOLEAN ServerToServerCall); +CsrClientConnectToServer( + _In_ PCWSTR ObjectDirectory, + _In_ ULONG ServerId, + _In_ PVOID ConnectionInfo, + _Inout_ PULONG ConnectionInfoSize, + _Out_ PBOOLEAN ServerToServerCall); NTSTATUS NTAPI -CsrClientCallServer(IN OUT PCSR_API_MESSAGE ApiMessage, - IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer OPTIONAL, - IN CSR_API_NUMBER ApiNumber, - IN ULONG DataLength); +CsrClientCallServer( + _Inout_ PCSR_API_MESSAGE ApiMessage, + _Inout_opt_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _In_ CSR_API_NUMBER ApiNumber, + _In_ ULONG DataLength); PCSR_CAPTURE_BUFFER NTAPI -CsrAllocateCaptureBuffer(IN ULONG ArgumentCount, - IN ULONG BufferSize); +CsrAllocateCaptureBuffer( + _In_ ULONG ArgumentCount, + _In_ ULONG BufferSize); ULONG NTAPI -CsrAllocateMessagePointer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, - IN ULONG MessageLength, - OUT PVOID* CapturedData); +CsrAllocateMessagePointer( + _Inout_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _In_ ULONG MessageLength, + _Out_ PVOID* CapturedData); VOID NTAPI -CsrCaptureMessageBuffer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, - IN PVOID MessageBuffer OPTIONAL, - IN ULONG MessageLength, - OUT PVOID* CapturedData); +CsrCaptureMessageBuffer( + _Inout_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _In_opt_ PVOID MessageBuffer, + _In_ ULONG MessageLength, + _Out_ PVOID* CapturedData); VOID NTAPI -CsrFreeCaptureBuffer(IN PCSR_CAPTURE_BUFFER CaptureBuffer); +CsrFreeCaptureBuffer( + _In_ _Frees_ptr_ PCSR_CAPTURE_BUFFER CaptureBuffer); VOID NTAPI -CsrCaptureMessageString(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, - IN PCSTR String OPTIONAL, - IN ULONG StringLength, - IN ULONG MaximumLength, - OUT PSTRING CapturedString); +CsrCaptureMessageString( + _Inout_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _In_opt_ PCSTR String, + _In_ ULONG StringLength, + _In_ ULONG MaximumLength, + _Out_ PSTRING CapturedString); + +VOID +NTAPI +CsrCaptureMessageUnicodeStringInPlace( + _Inout_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _Inout_ PUNICODE_STRING String); NTSTATUS NTAPI -CsrCaptureMessageMultiUnicodeStringsInPlace(OUT PCSR_CAPTURE_BUFFER* CaptureBuffer, - IN ULONG StringsCount, - IN PUNICODE_STRING* MessageStrings); +CsrCaptureMessageMultiUnicodeStringsInPlace( + _Inout_ PCSR_CAPTURE_BUFFER* CaptureBuffer, + _In_ ULONG StringsCount, + _In_ PUNICODE_STRING* MessageStrings); PLARGE_INTEGER NTAPI -CsrCaptureTimeout(IN ULONG Milliseconds, - OUT PLARGE_INTEGER Timeout); +CsrCaptureTimeout( + _In_ ULONG Milliseconds, + _Out_ PLARGE_INTEGER Timeout); VOID NTAPI -CsrProbeForRead(IN PVOID Address, - IN ULONG Length, - IN ULONG Alignment); +CsrProbeForRead( + _In_ PVOID Address, + _In_ ULONG Length, + _In_ ULONG Alignment); VOID NTAPI -CsrProbeForWrite(IN PVOID Address, - IN ULONG Length, - IN ULONG Alignment); +CsrProbeForWrite( + _In_ PVOID Address, + _In_ ULONG Length, + _In_ ULONG Alignment); HANDLE NTAPI @@ -94,8 +110,9 @@ CsrIdentifyAlertableThread(VOID); NTSTATUS NTAPI -CsrSetPriorityClass(IN HANDLE Process, - IN OUT PULONG PriorityClass); +CsrSetPriorityClass( + _In_ HANDLE Process, + _Inout_ PULONG PriorityClass); #endif // _CSR_H diff --git a/subsystems/csr/csrlib/api.c b/subsystems/csr/csrlib/api.c index b1611d1f34f..2241e9ef652 100644 --- a/subsystems/csr/csrlib/api.c +++ b/subsystems/csr/csrlib/api.c @@ -64,8 +64,9 @@ CsrIdentifyAlertableThread(VOID) */ NTSTATUS NTAPI -CsrSetPriorityClass(IN HANDLE Process, - IN OUT PULONG PriorityClass) +CsrSetPriorityClass( + _In_ HANDLE Process, + _Inout_ PULONG PriorityClass) { #if (NTDDI_VERSION < NTDDI_WS03) NTSTATUS Status; diff --git a/subsystems/csr/csrlib/capture.c b/subsystems/csr/csrlib/capture.c index c5b6b10cb59..2a7855f4c76 100644 --- a/subsystems/csr/csrlib/capture.c +++ b/subsystems/csr/csrlib/capture.c @@ -20,9 +20,10 @@ */ VOID NTAPI -CsrProbeForRead(IN PVOID Address, - IN ULONG Length, - IN ULONG Alignment) +CsrProbeForRead( + _In_ PVOID Address, + _In_ ULONG Length, + _In_ ULONG Alignment) { volatile UCHAR *Pointer; UCHAR Data; @@ -52,9 +53,10 @@ CsrProbeForRead(IN PVOID Address, */ VOID NTAPI -CsrProbeForWrite(IN PVOID Address, - IN ULONG Length, - IN ULONG Alignment) +CsrProbeForWrite( + _In_ PVOID Address, + _In_ ULONG Length, + _In_ ULONG Alignment) { volatile UCHAR *Pointer; @@ -82,8 +84,9 @@ CsrProbeForWrite(IN PVOID Address, */ PCSR_CAPTURE_BUFFER NTAPI -CsrAllocateCaptureBuffer(IN ULONG ArgumentCount, - IN ULONG BufferSize) +CsrAllocateCaptureBuffer( + _In_ ULONG ArgumentCount, + _In_ ULONG BufferSize) { PCSR_CAPTURE_BUFFER CaptureBuffer; ULONG OffsetsArraySize; @@ -146,9 +149,10 @@ CsrAllocateCaptureBuffer(IN ULONG ArgumentCount, */ ULONG NTAPI -CsrAllocateMessagePointer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, - IN ULONG MessageLength, - OUT PVOID* CapturedData) +CsrAllocateMessagePointer( + _Inout_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _In_ ULONG MessageLength, + _Out_ PVOID* CapturedData) { if (MessageLength == 0) { @@ -182,10 +186,11 @@ CsrAllocateMessagePointer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, */ VOID NTAPI -CsrCaptureMessageBuffer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, - IN PVOID MessageBuffer OPTIONAL, - IN ULONG MessageLength, - OUT PVOID* CapturedData) +CsrCaptureMessageBuffer( + _Inout_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _In_opt_ PVOID MessageBuffer, + _In_ ULONG MessageLength, + _Out_ PVOID* CapturedData) { /* Simply allocate a message pointer in the buffer */ CsrAllocateMessagePointer(CaptureBuffer, MessageLength, CapturedData); @@ -202,7 +207,8 @@ CsrCaptureMessageBuffer(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, */ VOID NTAPI -CsrFreeCaptureBuffer(IN PCSR_CAPTURE_BUFFER CaptureBuffer) +CsrFreeCaptureBuffer( + _In_ _Frees_ptr_ PCSR_CAPTURE_BUFFER CaptureBuffer) { /* Free it from the heap */ RtlFreeHeap(CsrPortHeap, 0, CaptureBuffer); @@ -213,11 +219,12 @@ CsrFreeCaptureBuffer(IN PCSR_CAPTURE_BUFFER CaptureBuffer) */ VOID NTAPI -CsrCaptureMessageString(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, - IN PCSTR String OPTIONAL, - IN ULONG StringLength, - IN ULONG MaximumLength, - OUT PSTRING CapturedString) +CsrCaptureMessageString( + _Inout_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _In_opt_ PCSTR String, + _In_ ULONG StringLength, + _In_ ULONG MaximumLength, + _Out_ PSTRING CapturedString) { ASSERT(CapturedString != NULL); @@ -259,9 +266,11 @@ CsrCaptureMessageString(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, CapturedString->Buffer[CapturedString->Length] = ANSI_NULL; } -static VOID -CsrCaptureMessageUnicodeStringInPlace(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, - IN PUNICODE_STRING String) +VOID +NTAPI +CsrCaptureMessageUnicodeStringInPlace( + _Inout_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _Inout_ PUNICODE_STRING String) { ASSERT(String != NULL); @@ -282,9 +291,10 @@ CsrCaptureMessageUnicodeStringInPlace(IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer, */ NTSTATUS NTAPI -CsrCaptureMessageMultiUnicodeStringsInPlace(OUT PCSR_CAPTURE_BUFFER* CaptureBuffer, - IN ULONG StringsCount, - IN PUNICODE_STRING* MessageStrings) +CsrCaptureMessageMultiUnicodeStringsInPlace( + _Inout_ PCSR_CAPTURE_BUFFER* CaptureBuffer, + _In_ ULONG StringsCount, + _In_ PUNICODE_STRING* MessageStrings) { ULONG Count; @@ -328,8 +338,9 @@ CsrCaptureMessageMultiUnicodeStringsInPlace(OUT PCSR_CAPTURE_BUFFER* CaptureBuff */ PLARGE_INTEGER NTAPI -CsrCaptureTimeout(IN ULONG Milliseconds, - OUT PLARGE_INTEGER Timeout) +CsrCaptureTimeout( + _In_ ULONG Milliseconds, + _Out_ PLARGE_INTEGER Timeout) { /* Validate the time */ if (Milliseconds == -1) return NULL; diff --git a/subsystems/csr/csrlib/connect.c b/subsystems/csr/csrlib/connect.c index 51d7c006f75..c93f80075d7 100644 --- a/subsystems/csr/csrlib/connect.c +++ b/subsystems/csr/csrlib/connect.c @@ -31,16 +31,17 @@ ULONG_PTR CsrPortMemoryDelta; BOOLEAN InsideCsrProcess = FALSE; typedef NTSTATUS -(NTAPI *PCSR_SERVER_API_ROUTINE)(IN PPORT_MESSAGE Request, - IN PPORT_MESSAGE Reply); +(NTAPI *PCSR_SERVER_API_ROUTINE)( + _In_ PCSR_API_MESSAGE Request, + _Inout_ PCSR_API_MESSAGE Reply); PCSR_SERVER_API_ROUTINE CsrServerApiRoutine; /* FUNCTIONS ******************************************************************/ -NTSTATUS -NTAPI -CsrpConnectToServer(IN PWSTR ObjectDirectory) +static NTSTATUS +CsrpConnectToServer( + _In_ PCWSTR ObjectDirectory) { NTSTATUS Status; SIZE_T PortNameLength; @@ -198,11 +199,12 @@ CsrpConnectToServer(IN PWSTR ObjectDirectory) */ NTSTATUS NTAPI -CsrClientConnectToServer(IN PWSTR ObjectDirectory, - IN ULONG ServerId, - IN PVOID ConnectionInfo, - IN OUT PULONG ConnectionInfoSize, - OUT PBOOLEAN ServerToServerCall) +CsrClientConnectToServer( + _In_ PCWSTR ObjectDirectory, + _In_ ULONG ServerId, + _In_ PVOID ConnectionInfo, + _Inout_ PULONG ConnectionInfoSize, + _Out_ PBOOLEAN ServerToServerCall) { NTSTATUS Status; PIMAGE_NT_HEADERS NtHeader; @@ -367,10 +369,11 @@ C_ASSERT((sizeof(TEST) - sizeof(TEST_EMBEDDED)) != FIELD_OFFSET(TEST, Three)); */ NTSTATUS NTAPI -CsrClientCallServer(IN OUT PCSR_API_MESSAGE ApiMessage, - IN OUT PCSR_CAPTURE_BUFFER CaptureBuffer OPTIONAL, - IN CSR_API_NUMBER ApiNumber, - IN ULONG DataLength) +CsrClientCallServer( + _Inout_ PCSR_API_MESSAGE ApiMessage, + _Inout_opt_ PCSR_CAPTURE_BUFFER CaptureBuffer, + _In_ CSR_API_NUMBER ApiNumber, + _In_ ULONG DataLength) { NTSTATUS Status; @@ -484,8 +487,7 @@ CsrClientCallServer(IN OUT PCSR_API_MESSAGE ApiMessage, ApiMessage->Header.ClientId = NtCurrentTeb()->ClientId; /* Do a direct call */ - Status = CsrServerApiRoutine(&ApiMessage->Header, - &ApiMessage->Header); + Status = CsrServerApiRoutine(ApiMessage, ApiMessage); /* Check for success */ if (!NT_SUCCESS(Status))