Author: hbelusca Date: Tue Jul 29 14:00:46 2014 New Revision: 63769
URL: http://svn.reactos.org/svn/reactos?rev=63769&view=rev Log: [CONSRV] Add the optional "number of things read/written" parameters back.
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user/... ============================================================================== --- branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c [iso-8859-1] (original) +++ branches/condrv_restructure/win32ss/user/winsrv/consrv/condrv/text.c [iso-8859-1] Tue Jul 29 14:00:46 2014 @@ -892,7 +892,7 @@ IN ULONG NumCodesToRead, IN PCOORD ReadCoord, // OUT PCOORD EndCoord, - OUT PULONG CodesRead) + OUT PULONG NumCodesRead OPTIONAL) { SHORT Xpos, Ypos; PVOID ReadBuffer; @@ -900,8 +900,7 @@ ULONG CodeSize; PCHAR_INFO Ptr;
- if (Console == NULL || Buffer == NULL || - ReadCoord == NULL || /* EndCoord == NULL || */ CodesRead == NULL) + if (Console == NULL || Buffer == NULL || ReadCoord == NULL /* || EndCoord == NULL */) { return STATUS_INVALID_PARAMETER; } @@ -909,6 +908,8 @@ /* Validity checks */ ASSERT(Console == Buffer->Header.Console); ASSERT((StringBuffer != NULL) || (StringBuffer == NULL && NumCodesToRead == 0)); + + if (NumCodesRead) *NumCodesRead = 0;
switch (CodeType) { @@ -985,7 +986,8 @@ // EndCoord->X = Xpos; // EndCoord->Y = (Ypos - Buffer->VirtualY + Buffer->ScreenBufferSize.Y) % Buffer->ScreenBufferSize.Y;
- *CodesRead = (ULONG)((ULONG_PTR)ReadBuffer - (ULONG_PTR)StringBuffer) / CodeSize; + if (NumCodesRead) + *NumCodesRead = (ULONG)((ULONG_PTR)ReadBuffer - (ULONG_PTR)StringBuffer) / CodeSize; // <= NumCodesToRead
return STATUS_SUCCESS; @@ -997,9 +999,9 @@ IN CODE_TYPE CodeType, IN PVOID StringBuffer, IN ULONG NumCodesToWrite, - IN PCOORD WriteCoord /*, - OUT PCOORD EndCoord, - OUT PULONG CodesWritten */) + IN PCOORD WriteCoord, + // OUT PCOORD EndCoord, + OUT PULONG NumCodesWritten OPTIONAL) { NTSTATUS Status = STATUS_SUCCESS; PVOID WriteBuffer = NULL; @@ -1008,8 +1010,7 @@ ULONG CodeSize; PCHAR_INFO Ptr;
- if (Console == NULL || Buffer == NULL || - WriteCoord == NULL /* || EndCoord == NULL || CodesWritten == NULL */) + if (Console == NULL || Buffer == NULL || WriteCoord == NULL /* || EndCoord == NULL */) { return STATUS_INVALID_PARAMETER; } @@ -1017,6 +1018,8 @@ /* Validity checks */ ASSERT(Console == Buffer->Header.Console); ASSERT((StringBuffer != NULL) || (StringBuffer == NULL && NumCodesToWrite == 0)); + + if (NumCodesWritten) *NumCodesWritten = 0;
switch (CodeType) { @@ -1114,7 +1117,7 @@ Cleanup: if (tmpString) RtlFreeHeap(RtlGetProcessHeap(), 0, tmpString);
- // CodesWritten = Written; + // if (NumCodesWritten) *NumCodesWritten = Written; return Status; }
@@ -1124,19 +1127,21 @@ IN CODE_TYPE CodeType, IN CODE_ELEMENT Code, IN ULONG NumCodesToWrite, - IN PCOORD WriteCoord /*, - OUT PULONG CodesWritten */) + IN PCOORD WriteCoord, + OUT PULONG NumCodesWritten OPTIONAL) { DWORD X, Y, Length; // , Written = 0; PCHAR_INFO Ptr;
- if (Console == NULL || Buffer == NULL || WriteCoord == NULL /* || CodesWritten == NULL */) + if (Console == NULL || Buffer == NULL || WriteCoord == NULL) { return STATUS_INVALID_PARAMETER; }
/* Validity check */ ASSERT(Console == Buffer->Header.Console); + + if (NumCodesWritten) *NumCodesWritten = 0;
if (CodeType == CODE_ASCII) { @@ -1189,7 +1194,7 @@ TermDrawRegion(Console, &UpdateRect); }
- // CodesWritten = Written; // NumCodesToWrite; + // if (NumCodesWritten) *NumCodesWritten = Written; // NumCodesToWrite; return STATUS_SUCCESS; }
Modified: branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c URL: http://svn.reactos.org/svn/reactos/branches/condrv_restructure/win32ss/user/... ============================================================================== --- branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c [iso-8859-1] (original) +++ branches/condrv_restructure/win32ss/user/winsrv/consrv/conoutput.c [iso-8859-1] Tue Jul 29 14:00:46 2014 @@ -525,7 +525,7 @@ IN ULONG NumCodesToRead, IN PCOORD ReadCoord, // OUT PCOORD EndCoord, - OUT PULONG CodesRead); + OUT PULONG NumCodesRead OPTIONAL); CSR_API(SrvReadConsoleOutputString) { NTSTATUS Status; @@ -607,9 +607,9 @@ IN CODE_TYPE CodeType, IN PVOID StringBuffer, IN ULONG NumCodesToWrite, - IN PCOORD WriteCoord /*, - OUT PCOORD EndCoord, - OUT PULONG CodesWritten */); + IN PCOORD WriteCoord, + // OUT PCOORD EndCoord, + OUT PULONG NumCodesWritten OPTIONAL); CSR_API(SrvWriteConsoleOutputString) { NTSTATUS Status; @@ -677,11 +677,9 @@ WriteOutputCodeRequest->CodeType, pCode, WriteOutputCodeRequest->NumCodes, - &WriteOutputCodeRequest->Coord /*, - &WriteOutputCodeRequest->EndCoord, - &WriteOutputCodeRequest->NrCharactersWritten */); - - // WriteOutputCodeRequest->NrCharactersWritten = Written; + &WriteOutputCodeRequest->Coord, + // &WriteOutputCodeRequest->EndCoord, + &WriteOutputCodeRequest->NumCodes);
ConSrvReleaseScreenBuffer(Buffer, TRUE); return Status; @@ -693,8 +691,8 @@ IN CODE_TYPE CodeType, IN CODE_ELEMENT Code, IN ULONG NumCodesToWrite, - IN PCOORD WriteCoord /*, - OUT PULONG CodesWritten */); + IN PCOORD WriteCoord, + OUT PULONG NumCodesWritten OPTIONAL); CSR_API(SrvFillConsoleOutput) { NTSTATUS Status; @@ -721,10 +719,8 @@ CodeType, FillOutputRequest->Code, FillOutputRequest->NumCodes, - &FillOutputRequest->WriteCoord /*, - &FillOutputRequest->NrCharactersWritten */); - - // FillOutputRequest->NrCharactersWritten = Written; + &FillOutputRequest->WriteCoord, + &FillOutputRequest->NumCodes);
ConSrvReleaseScreenBuffer(Buffer, TRUE); return Status;