- It is supposed that user buffers are valid, and if not, access to them is protected with SEH. This fixes almost all of the kernel32_winetest:console tests.
- Add parameter annotations.
svn path=/branches/condrv_restructure/; revision=63772
-IntGetConsoleInput(HANDLE hConsoleInput,
- PINPUT_RECORD lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsRead,
- WORD wFlags,
- BOOLEAN bUnicode)
+IntGetConsoleInput(IN HANDLE hConsoleInput,
+ OUT PINPUT_RECORD lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsRead,
+ IN WORD wFlags,
+ IN BOOLEAN bUnicode)
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_GETINPUT GetInputRequest = &ApiMessage.Data.GetInputRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer = NULL;
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_GETINPUT GetInputRequest = &ApiMessage.Data.GetInputRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer = NULL;
- if (lpBuffer == NULL)
- {
- SetLastError(ERROR_INVALID_ACCESS);
- return FALSE;
- }
-
if (!IsConsoleHandle(hConsoleInput))
{
if (!IsConsoleHandle(hConsoleInput))
{
- SetLastError(ERROR_INVALID_HANDLE);
-
- if (lpNumberOfEventsRead != NULL)
*lpNumberOfEventsRead = 0;
*lpNumberOfEventsRead = 0;
+ SetLastError(ERROR_INVALID_HANDLE);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ SetLastError(ERROR_INVALID_ACCESS);
+ }
+ _SEH2_END;
sizeof(*GetInputRequest));
/* Check for success */
sizeof(*GetInputRequest));
/* Check for success */
- if (NT_SUCCESS(ApiMessage.Status))
+ Success = NT_SUCCESS(ApiMessage.Status);
+
+ /* Retrieve the results */
+ _SEH2_TRY
- /* Return the number of events read */
DPRINT("Events read: %lx\n", GetInputRequest->NumRecords);
DPRINT("Events read: %lx\n", GetInputRequest->NumRecords);
+ *lpNumberOfEventsRead = GetInputRequest->NumRecords;
- if (lpNumberOfEventsRead != NULL)
- *lpNumberOfEventsRead = GetInputRequest->NumRecords;
-
- /* Copy into the buffer */
- RtlCopyMemory(lpBuffer,
- GetInputRequest->RecordBufPtr,
- GetInputRequest->NumRecords * sizeof(INPUT_RECORD));
+ if (Success)
+ {
+ RtlCopyMemory(lpBuffer,
+ GetInputRequest->RecordBufPtr,
+ GetInputRequest->NumRecords * sizeof(INPUT_RECORD));
+ }
+ else
+ {
+ BaseSetLastNTError(ApiMessage.Status);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
- if (lpNumberOfEventsRead != NULL)
- *lpNumberOfEventsRead = 0;
-
- /* Error out */
- BaseSetLastNTError(ApiMessage.Status);
+ SetLastError(ERROR_INVALID_ACCESS);
+ Success = FALSE;
/* Release the capture buffer if needed */
if (CaptureBuffer) CsrFreeCaptureBuffer(CaptureBuffer);
/* Release the capture buffer if needed */
if (CaptureBuffer) CsrFreeCaptureBuffer(CaptureBuffer);
- /* Return TRUE or FALSE */
- return NT_SUCCESS(ApiMessage.Status);
+ /* Return success status */
+ return Success;
-IntReadConsoleOutputCode(HANDLE hConsoleOutput,
- CODE_TYPE CodeType,
- PVOID pCode,
- DWORD nLength,
- COORD dwReadCoord,
- LPDWORD lpNumberOfCodesRead)
+IntReadConsoleOutputCode(IN HANDLE hConsoleOutput,
+ IN CODE_TYPE CodeType,
+ OUT PVOID pCode,
+ IN DWORD nLength,
+ IN COORD dwReadCoord,
+ OUT LPDWORD lpNumberOfCodesRead)
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_READOUTPUTCODE ReadOutputCodeRequest = &ApiMessage.Data.ReadOutputCodeRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer = NULL;
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_READOUTPUTCODE ReadOutputCodeRequest = &ApiMessage.Data.ReadOutputCodeRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer = NULL;
sizeof(*ReadOutputCodeRequest));
/* Check for success */
sizeof(*ReadOutputCodeRequest));
/* Check for success */
- if (NT_SUCCESS(ApiMessage.Status))
+ Success = NT_SUCCESS(ApiMessage.Status);
+
+ /* Retrieve the results */
+ _SEH2_TRY
- DWORD NumCodes = ReadOutputCodeRequest->NumCodes;
- RtlCopyMemory(pCode,
- ReadOutputCodeRequest->pCode,
- NumCodes * CodeSize);
+ *lpNumberOfCodesRead = ReadOutputCodeRequest->NumCodes;
- if (lpNumberOfCodesRead != NULL)
- *lpNumberOfCodesRead = NumCodes;
+ if (Success)
+ {
+ RtlCopyMemory(pCode,
+ ReadOutputCodeRequest->pCode,
+ ReadOutputCodeRequest->NumCodes * CodeSize);
+ }
+ else
+ {
+ BaseSetLastNTError(ApiMessage.Status);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
- if (lpNumberOfCodesRead != NULL)
- *lpNumberOfCodesRead = 0;
-
- /* Error out */
- BaseSetLastNTError(ApiMessage.Status);
+ SetLastError(ERROR_INVALID_ACCESS);
+ Success = FALSE;
/* Release the capture buffer if needed */
if (CaptureBuffer) CsrFreeCaptureBuffer(CaptureBuffer);
/* Release the capture buffer if needed */
if (CaptureBuffer) CsrFreeCaptureBuffer(CaptureBuffer);
- /* Return TRUE or FALSE */
- return NT_SUCCESS(ApiMessage.Status);
+ /* Return success status */
+ return Success;
-IntWriteConsoleInput(HANDLE hConsoleInput,
- PINPUT_RECORD lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsWritten,
- BOOLEAN bUnicode,
- BOOLEAN bAppendToEnd)
+IntWriteConsoleInput(IN HANDLE hConsoleInput,
+ IN PINPUT_RECORD lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsWritten,
+ IN BOOLEAN bUnicode,
+ IN BOOLEAN bAppendToEnd)
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_WRITEINPUT WriteInputRequest = &ApiMessage.Data.WriteInputRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer = NULL;
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_WRITEINPUT WriteInputRequest = &ApiMessage.Data.WriteInputRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer = NULL;
- if (lpBuffer == NULL)
- {
- SetLastError(ERROR_INVALID_ACCESS);
- return FALSE;
- }
-
DPRINT("IntWriteConsoleInput: %lx %p\n", nLength, lpNumberOfEventsWritten);
/* Set up the data to send to the Console Server */
DPRINT("IntWriteConsoleInput: %lx %p\n", nLength, lpNumberOfEventsWritten);
/* Set up the data to send to the Console Server */
WriteInputRequest->RecordBufPtr = WriteInputRequest->RecordStaticBuffer;
// CaptureBuffer = NULL;
WriteInputRequest->RecordBufPtr = WriteInputRequest->RecordStaticBuffer;
// CaptureBuffer = NULL;
- RtlCopyMemory(WriteInputRequest->RecordBufPtr,
- lpBuffer,
- nLength * sizeof(INPUT_RECORD));
+ _SEH2_TRY
+ {
+ RtlCopyMemory(WriteInputRequest->RecordBufPtr,
+ lpBuffer,
+ nLength * sizeof(INPUT_RECORD));
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ SetLastError(ERROR_INVALID_ACCESS);
+ return FALSE;
+ }
+ _SEH2_END;
CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepWriteConsoleInput),
sizeof(*WriteInputRequest));
CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepWriteConsoleInput),
sizeof(*WriteInputRequest));
+ /* Check for success */
+ Success = NT_SUCCESS(ApiMessage.Status);
+
/* Release the capture buffer if needed */
if (CaptureBuffer) CsrFreeCaptureBuffer(CaptureBuffer);
/* Release the capture buffer if needed */
if (CaptureBuffer) CsrFreeCaptureBuffer(CaptureBuffer);
- /* Check for success */
- if (NT_SUCCESS(ApiMessage.Status))
+ /* Retrieve the results */
+ _SEH2_TRY
- /* Return the number of events written */
DPRINT("Events written: %lx\n", WriteInputRequest->NumRecords);
DPRINT("Events written: %lx\n", WriteInputRequest->NumRecords);
+ *lpNumberOfEventsWritten = WriteInputRequest->NumRecords;
- if (lpNumberOfEventsWritten != NULL)
- *lpNumberOfEventsWritten = WriteInputRequest->NumRecords;
+ if (!Success)
+ BaseSetLastNTError(ApiMessage.Status);
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
- if (lpNumberOfEventsWritten != NULL)
- *lpNumberOfEventsWritten = 0;
-
- /* Error out */
- BaseSetLastNTError(ApiMessage.Status);
+ SetLastError(ERROR_INVALID_ACCESS);
+ Success = FALSE;
- /* Return TRUE or FALSE */
- return NT_SUCCESS(ApiMessage.Status);
+ /* Return success status */
+ return Success;
-IntWriteConsoleOutputCode(HANDLE hConsoleOutput,
- CODE_TYPE CodeType,
- CONST VOID *pCode,
- DWORD nLength,
- COORD dwWriteCoord,
- LPDWORD lpNumberOfCodesWritten)
+IntWriteConsoleOutputCode(IN HANDLE hConsoleOutput,
+ IN CODE_TYPE CodeType,
+ IN CONST VOID *pCode,
+ IN DWORD nLength,
+ IN COORD dwWriteCoord,
+ OUT LPDWORD lpNumberOfCodesWritten)
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_WRITEOUTPUTCODE WriteOutputCodeRequest = &ApiMessage.Data.WriteOutputCodeRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer = NULL;
ULONG SizeBytes, CodeSize;
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_WRITEOUTPUTCODE WriteOutputCodeRequest = &ApiMessage.Data.WriteOutputCodeRequest;
PCSR_CAPTURE_BUFFER CaptureBuffer = NULL;
ULONG SizeBytes, CodeSize;
- if (pCode == NULL)
- {
- SetLastError(ERROR_INVALID_ACCESS);
- return FALSE;
- }
-
if ( (CodeType != CODE_ASCII ) &&
(CodeType != CODE_UNICODE ) &&
(CodeType != CODE_ATTRIBUTE) )
if ( (CodeType != CODE_ASCII ) &&
(CodeType != CODE_UNICODE ) &&
(CodeType != CODE_ATTRIBUTE) )
WriteOutputCodeRequest->pCode = WriteOutputCodeRequest->CodeStaticBuffer;
// CaptureBuffer = NULL;
WriteOutputCodeRequest->pCode = WriteOutputCodeRequest->CodeStaticBuffer;
// CaptureBuffer = NULL;
- RtlCopyMemory(WriteOutputCodeRequest->pCode,
- pCode,
- SizeBytes);
+ _SEH2_TRY
+ {
+ RtlCopyMemory(WriteOutputCodeRequest->pCode,
+ pCode,
+ SizeBytes);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ SetLastError(ERROR_INVALID_ACCESS);
+ return FALSE;
+ }
+ _SEH2_END;
CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepWriteConsoleOutputString),
sizeof(*WriteOutputCodeRequest));
CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepWriteConsoleOutputString),
sizeof(*WriteOutputCodeRequest));
+ /* Check for success */
+ Success = NT_SUCCESS(ApiMessage.Status);
+
/* Release the capture buffer if needed */
if (CaptureBuffer) CsrFreeCaptureBuffer(CaptureBuffer);
/* Release the capture buffer if needed */
if (CaptureBuffer) CsrFreeCaptureBuffer(CaptureBuffer);
- /* Check for success */
- if (NT_SUCCESS(ApiMessage.Status))
+ /* Retrieve the results */
+ _SEH2_TRY
- if (lpNumberOfCodesWritten != NULL)
- *lpNumberOfCodesWritten = WriteOutputCodeRequest->NumCodes;
+ *lpNumberOfCodesWritten = WriteOutputCodeRequest->NumCodes;
+
+ if (!Success)
+ BaseSetLastNTError(ApiMessage.Status);
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
- if (lpNumberOfCodesWritten != NULL)
- *lpNumberOfCodesWritten = 0;
-
- /* Error out */
- BaseSetLastNTError(ApiMessage.Status);
+ SetLastError(ERROR_INVALID_ACCESS);
+ Success = FALSE;
- /* Return TRUE or FALSE */
- return NT_SUCCESS(ApiMessage.Status);
+ /* Return success status */
+ return Success;
-IntFillConsoleOutputCode(HANDLE hConsoleOutput,
- CODE_TYPE CodeType,
- CODE_ELEMENT Code,
- DWORD nLength,
- COORD dwWriteCoord,
- LPDWORD lpNumberOfCodesWritten)
+IntFillConsoleOutputCode(IN HANDLE hConsoleOutput,
+ IN CODE_TYPE CodeType,
+ IN CODE_ELEMENT Code,
+ IN DWORD nLength,
+ IN COORD dwWriteCoord,
+ OUT LPDWORD lpNumberOfCodesWritten)
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_FILLOUTPUTCODE FillOutputRequest = &ApiMessage.Data.FillOutputRequest;
CONSOLE_API_MESSAGE ApiMessage;
PCONSOLE_FILLOUTPUTCODE FillOutputRequest = &ApiMessage.Data.FillOutputRequest;
sizeof(*FillOutputRequest));
/* Check for success */
sizeof(*FillOutputRequest));
/* Check for success */
- if (NT_SUCCESS(ApiMessage.Status))
+ Success = NT_SUCCESS(ApiMessage.Status);
+
+ /* Retrieve the results */
+ _SEH2_TRY
- if (lpNumberOfCodesWritten != NULL)
- *lpNumberOfCodesWritten = FillOutputRequest->NumCodes;
+ *lpNumberOfCodesWritten = FillOutputRequest->NumCodes;
+
+ if (!Success)
+ BaseSetLastNTError(ApiMessage.Status);
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
- if (lpNumberOfCodesWritten != NULL)
- *lpNumberOfCodesWritten = 0;
-
- BaseSetLastNTError(ApiMessage.Status);
+ SetLastError(ERROR_INVALID_ACCESS);
+ Success = FALSE;
- /* Return TRUE or FALSE */
- return NT_SUCCESS(ApiMessage.Status);
+ /* Return success status */
+ return Success;
-PeekConsoleInputW(HANDLE hConsoleInput,
- PINPUT_RECORD lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsRead)
+PeekConsoleInputW(IN HANDLE hConsoleInput,
+ OUT PINPUT_RECORD lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsRead)
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
-PeekConsoleInputA(HANDLE hConsoleInput,
- PINPUT_RECORD lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsRead)
+PeekConsoleInputA(IN HANDLE hConsoleInput,
+ OUT PINPUT_RECORD lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsRead)
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
-ReadConsoleInputW(HANDLE hConsoleInput,
- PINPUT_RECORD lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsRead)
+ReadConsoleInputW(IN HANDLE hConsoleInput,
+ OUT PINPUT_RECORD lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsRead)
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
-ReadConsoleInputA(HANDLE hConsoleInput,
- PINPUT_RECORD lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsRead)
+ReadConsoleInputA(IN HANDLE hConsoleInput,
+ OUT PINPUT_RECORD lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsRead)
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
-ReadConsoleInputExW(HANDLE hConsoleInput,
- PINPUT_RECORD lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsRead,
- WORD wFlags)
+ReadConsoleInputExW(IN HANDLE hConsoleInput,
+ OUT PINPUT_RECORD lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsRead,
+ IN WORD wFlags)
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
-ReadConsoleInputExA(HANDLE hConsoleInput,
- PINPUT_RECORD lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsRead,
- WORD wFlags)
+ReadConsoleInputExA(IN HANDLE hConsoleInput,
+ OUT PINPUT_RECORD lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsRead,
+ IN WORD wFlags)
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
{
return IntGetConsoleInput(hConsoleInput,
lpBuffer,
-ReadConsoleOutputCharacterW(HANDLE hConsoleOutput,
- LPWSTR lpCharacter,
- DWORD nLength,
- COORD dwReadCoord,
- LPDWORD lpNumberOfCharsRead)
+ReadConsoleOutputCharacterW(IN HANDLE hConsoleOutput,
+ OUT LPWSTR lpCharacter,
+ IN DWORD nLength,
+ IN COORD dwReadCoord,
+ OUT LPDWORD lpNumberOfCharsRead)
{
return IntReadConsoleOutputCode(hConsoleOutput,
CODE_UNICODE,
{
return IntReadConsoleOutputCode(hConsoleOutput,
CODE_UNICODE,
-ReadConsoleOutputCharacterA(HANDLE hConsoleOutput,
- LPSTR lpCharacter,
- DWORD nLength,
- COORD dwReadCoord,
- LPDWORD lpNumberOfCharsRead)
+ReadConsoleOutputCharacterA(IN HANDLE hConsoleOutput,
+ OUT LPSTR lpCharacter,
+ IN DWORD nLength,
+ IN COORD dwReadCoord,
+ OUT LPDWORD lpNumberOfCharsRead)
{
return IntReadConsoleOutputCode(hConsoleOutput,
CODE_ASCII,
{
return IntReadConsoleOutputCode(hConsoleOutput,
CODE_ASCII,
-ReadConsoleOutputAttribute(HANDLE hConsoleOutput,
- LPWORD lpAttribute,
- DWORD nLength,
- COORD dwReadCoord,
- LPDWORD lpNumberOfAttrsRead)
+ReadConsoleOutputAttribute(IN HANDLE hConsoleOutput,
+ OUT LPWORD lpAttribute,
+ IN DWORD nLength,
+ IN COORD dwReadCoord,
+ OUT LPDWORD lpNumberOfAttrsRead)
{
return IntReadConsoleOutputCode(hConsoleOutput,
CODE_ATTRIBUTE,
{
return IntReadConsoleOutputCode(hConsoleOutput,
CODE_ATTRIBUTE,
-WriteConsoleInputW(HANDLE hConsoleInput,
- CONST INPUT_RECORD *lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsWritten)
+WriteConsoleInputW(IN HANDLE hConsoleInput,
+ IN CONST INPUT_RECORD *lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsWritten)
{
return IntWriteConsoleInput(hConsoleInput,
(PINPUT_RECORD)lpBuffer,
{
return IntWriteConsoleInput(hConsoleInput,
(PINPUT_RECORD)lpBuffer,
-WriteConsoleInputA(HANDLE hConsoleInput,
- CONST INPUT_RECORD *lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsWritten)
+WriteConsoleInputA(IN HANDLE hConsoleInput,
+ IN CONST INPUT_RECORD *lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsWritten)
{
return IntWriteConsoleInput(hConsoleInput,
(PINPUT_RECORD)lpBuffer,
{
return IntWriteConsoleInput(hConsoleInput,
(PINPUT_RECORD)lpBuffer,
-WriteConsoleInputVDMW(HANDLE hConsoleInput,
- CONST INPUT_RECORD *lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsWritten)
+WriteConsoleInputVDMW(IN HANDLE hConsoleInput,
+ IN CONST INPUT_RECORD *lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsWritten)
{
return IntWriteConsoleInput(hConsoleInput,
(PINPUT_RECORD)lpBuffer,
{
return IntWriteConsoleInput(hConsoleInput,
(PINPUT_RECORD)lpBuffer,
-WriteConsoleInputVDMA(HANDLE hConsoleInput,
- CONST INPUT_RECORD *lpBuffer,
- DWORD nLength,
- LPDWORD lpNumberOfEventsWritten)
+WriteConsoleInputVDMA(IN HANDLE hConsoleInput,
+ IN CONST INPUT_RECORD *lpBuffer,
+ IN DWORD nLength,
+ OUT LPDWORD lpNumberOfEventsWritten)
{
return IntWriteConsoleInput(hConsoleInput,
(PINPUT_RECORD)lpBuffer,
{
return IntWriteConsoleInput(hConsoleInput,
(PINPUT_RECORD)lpBuffer,
-WriteConsoleOutputCharacterW(HANDLE hConsoleOutput,
- LPCWSTR lpCharacter,
- DWORD nLength,
- COORD dwWriteCoord,
- LPDWORD lpNumberOfCharsWritten)
+WriteConsoleOutputCharacterW(IN HANDLE hConsoleOutput,
+ IN LPCWSTR lpCharacter,
+ IN DWORD nLength,
+ IN COORD dwWriteCoord,
+ OUT LPDWORD lpNumberOfCharsWritten)
{
return IntWriteConsoleOutputCode(hConsoleOutput,
CODE_UNICODE,
{
return IntWriteConsoleOutputCode(hConsoleOutput,
CODE_UNICODE,
-WriteConsoleOutputCharacterA(HANDLE hConsoleOutput,
- LPCSTR lpCharacter,
- DWORD nLength,
- COORD dwWriteCoord,
- LPDWORD lpNumberOfCharsWritten)
+WriteConsoleOutputCharacterA(IN HANDLE hConsoleOutput,
+ IN LPCSTR lpCharacter,
+ IN DWORD nLength,
+ IN COORD dwWriteCoord,
+ OUT LPDWORD lpNumberOfCharsWritten)
{
return IntWriteConsoleOutputCode(hConsoleOutput,
CODE_ASCII,
{
return IntWriteConsoleOutputCode(hConsoleOutput,
CODE_ASCII,
-WriteConsoleOutputAttribute(HANDLE hConsoleOutput,
- CONST WORD *lpAttribute,
- DWORD nLength,
- COORD dwWriteCoord,
- LPDWORD lpNumberOfAttrsWritten)
+WriteConsoleOutputAttribute(IN HANDLE hConsoleOutput,
+ IN CONST WORD *lpAttribute,
+ IN DWORD nLength,
+ IN COORD dwWriteCoord,
+ OUT LPDWORD lpNumberOfAttrsWritten)
{
return IntWriteConsoleOutputCode(hConsoleOutput,
CODE_ATTRIBUTE,
{
return IntWriteConsoleOutputCode(hConsoleOutput,
CODE_ATTRIBUTE,
-FillConsoleOutputCharacterW(HANDLE hConsoleOutput,
- WCHAR cCharacter,
- DWORD nLength,
- COORD dwWriteCoord,
- LPDWORD lpNumberOfCharsWritten)
+FillConsoleOutputCharacterW(IN HANDLE hConsoleOutput,
+ IN WCHAR cCharacter,
+ IN DWORD nLength,
+ IN COORD dwWriteCoord,
+ OUT LPDWORD lpNumberOfCharsWritten)
{
CODE_ELEMENT Code;
Code.UnicodeChar = cCharacter;
{
CODE_ELEMENT Code;
Code.UnicodeChar = cCharacter;
-FillConsoleOutputCharacterA(HANDLE hConsoleOutput,
- CHAR cCharacter,
- DWORD nLength,
- COORD dwWriteCoord,
+FillConsoleOutputCharacterA(IN HANDLE hConsoleOutput,
+ IN CHAR cCharacter,
+ IN DWORD nLength,
+ IN COORD dwWriteCoord,
LPDWORD lpNumberOfCharsWritten)
{
CODE_ELEMENT Code;
LPDWORD lpNumberOfCharsWritten)
{
CODE_ELEMENT Code;
-FillConsoleOutputAttribute(HANDLE hConsoleOutput,
- WORD wAttribute,
- DWORD nLength,
- COORD dwWriteCoord,
- LPDWORD lpNumberOfAttrsWritten)
+FillConsoleOutputAttribute(IN HANDLE hConsoleOutput,
+ IN WORD wAttribute,
+ IN DWORD nLength,
+ IN COORD dwWriteCoord,
+ OUT LPDWORD lpNumberOfAttrsWritten)
{
CODE_ELEMENT Code;
Code.Attribute = wAttribute;
{
CODE_ELEMENT Code;
Code.Attribute = wAttribute;