- Add some NULL checks.
- Use new structures and api indices namings.
svn path=/branches/ros-csrss/; revision=57726
NTSTATUS Status;
CONSOLE_API_MESSAGE ApiMessage;
NTSTATUS Status;
CONSOLE_API_MESSAGE ApiMessage;
+ if (lpConsoleScreenBufferInfo == NULL)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
ApiMessage.Data.ScreenBufferInfoRequest.ConsoleHandle = hConsoleOutput;
Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
ApiMessage.Data.ScreenBufferInfoRequest.ConsoleHandle = hConsoleOutput;
Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
GetNumberOfConsoleInputEvents(HANDLE hConsoleInput,
LPDWORD lpNumberOfEvents)
{
GetNumberOfConsoleInputEvents(HANDLE hConsoleInput,
LPDWORD lpNumberOfEvents)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
if (lpNumberOfEvents == NULL)
{
if (lpNumberOfEvents == NULL)
{
- Request.Data.GetNumInputEventsRequest.ConsoleHandle = hConsoleInput;
+ ApiMessage.Data.GetNumInputEventsRequest.ConsoleHandle = hConsoleInput;
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, GET_NUM_INPUT_EVENTS),
- sizeof(CSR_API_MESSAGE));
- if(!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepGetNumberOfInputEvents),
+ sizeof(CSRSS_GET_NUM_INPUT_EVENTS));
+ if(!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return FALSE;
}
{
BaseSetLastNTError(Status);
return FALSE;
}
- *lpNumberOfEvents = Request.Data.GetNumInputEventsRequest.NumInputEvents;
+ *lpNumberOfEvents = ApiMessage.Data.GetNumInputEventsRequest.NumInputEvents;
WINAPI
SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput)
{
WINAPI
SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
- Request.Data.SetScreenBufferRequest.OutputHandle = hConsoleOutput;
+ ApiMessage.Data.SetScreenBufferRequest.OutputHandle = hConsoleOutput;
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, SET_SCREEN_BUFFER),
- sizeof(CSR_API_MESSAGE));
- if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepSetActiveScreenBuffer),
+ sizeof(CSRSS_SET_SCREEN_BUFFER));
+ if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return FALSE;
{
BaseSetLastNTError(Status);
return FALSE;
WINAPI
FlushConsoleInputBuffer(HANDLE hConsoleInput)
{
WINAPI
FlushConsoleInputBuffer(HANDLE hConsoleInput)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
- Request.Data.FlushInputBufferRequest.ConsoleInput = hConsoleInput;
+ ApiMessage.Data.FlushInputBufferRequest.ConsoleInput = hConsoleInput;
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, FLUSH_INPUT_BUFFER),
- sizeof(CSR_API_MESSAGE));
- if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepFlushInputBuffer),
+ sizeof(CSRSS_FLUSH_INPUT_BUFFER));
+ if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return FALSE;
{
BaseSetLastNTError(Status);
return FALSE;
SetConsoleScreenBufferSize(HANDLE hConsoleOutput,
COORD dwSize)
{
SetConsoleScreenBufferSize(HANDLE hConsoleOutput,
COORD dwSize)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
- Request.Data.SetScreenBufferSize.OutputHandle = hConsoleOutput;
- Request.Data.SetScreenBufferSize.Size = dwSize;
+ ApiMessage.Data.SetScreenBufferSize.OutputHandle = hConsoleOutput;
+ ApiMessage.Data.SetScreenBufferSize.Size = dwSize;
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, SET_SCREEN_BUFFER_SIZE),
- sizeof(CSR_API_MESSAGE));
- if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepSetScreenBufferSize),
+ sizeof(CSRSS_SET_SCREEN_BUFFER_SIZE));
+ if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return FALSE;
{
BaseSetLastNTError(Status);
return FALSE;
const CHAR_INFO *lpFill,
BOOL bUnicode)
{
const CHAR_INFO *lpFill,
BOOL bUnicode)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
+ PCSRSS_SCROLL_CONSOLE_SCREEN_BUFFER ScrollConsoleScreenBufferRequest = &ApiMessage.Data.ScrollConsoleScreenBufferRequest;
- Request.Data.ScrollConsoleScreenBufferRequest.ConsoleHandle = hConsoleOutput;
- Request.Data.ScrollConsoleScreenBufferRequest.Unicode = bUnicode;
- Request.Data.ScrollConsoleScreenBufferRequest.ScrollRectangle = *lpScrollRectangle;
+ ScrollConsoleScreenBufferRequest->ConsoleHandle = hConsoleOutput;
+ ScrollConsoleScreenBufferRequest->Unicode = bUnicode;
+ ScrollConsoleScreenBufferRequest->ScrollRectangle = *lpScrollRectangle;
if (lpClipRectangle != NULL)
{
if (lpClipRectangle != NULL)
{
- Request.Data.ScrollConsoleScreenBufferRequest.UseClipRectangle = TRUE;
- Request.Data.ScrollConsoleScreenBufferRequest.ClipRectangle = *lpClipRectangle;
+ ScrollConsoleScreenBufferRequest->UseClipRectangle = TRUE;
+ ScrollConsoleScreenBufferRequest->ClipRectangle = *lpClipRectangle;
- Request.Data.ScrollConsoleScreenBufferRequest.UseClipRectangle = FALSE;
+ ScrollConsoleScreenBufferRequest->UseClipRectangle = FALSE;
- Request.Data.ScrollConsoleScreenBufferRequest.DestinationOrigin = dwDestinationOrigin;
- Request.Data.ScrollConsoleScreenBufferRequest.Fill = *lpFill;
+ ScrollConsoleScreenBufferRequest->DestinationOrigin = dwDestinationOrigin;
+ ScrollConsoleScreenBufferRequest->Fill = *lpFill;
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, SCROLL_CONSOLE_SCREEN_BUFFER),
- sizeof(CSR_API_MESSAGE));
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepScrollScreenBuffer),
+ sizeof(CSRSS_SCROLL_CONSOLE_SCREEN_BUFFER));
- if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return FALSE;
{
BaseSetLastNTError(Status);
return FALSE;
SetConsoleTextAttribute(HANDLE hConsoleOutput,
WORD wAttributes)
{
SetConsoleTextAttribute(HANDLE hConsoleOutput,
WORD wAttributes)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
- Request.Data.SetAttribRequest.ConsoleHandle = hConsoleOutput;
- Request.Data.SetAttribRequest.Attrib = wAttributes;
+ ApiMessage.Data.SetAttribRequest.ConsoleHandle = hConsoleOutput;
+ ApiMessage.Data.SetAttribRequest.Attrib = wAttributes;
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, SET_ATTRIB),
- sizeof(CSR_API_MESSAGE));
- if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepSetTextAttribute),
+ sizeof(CSRSS_SET_ATTRIB));
+ if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return FALSE;
{
BaseSetLastNTError(Status);
return FALSE;
/*--------------------------------------------------------------
* GetConsoleTitleA
*
/*--------------------------------------------------------------
* GetConsoleTitleA
*
/*--------------------------------------------------------------
* SetConsoleTitleA
*
/*--------------------------------------------------------------
* SetConsoleTitleA
*
- * 19990204 EA Added
- *
DWORD dwFlags,
LPVOID lpScreenBufferData)
{
DWORD dwFlags,
LPVOID lpScreenBufferData)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
- if (dwDesiredAccess & ~(GENERIC_READ | GENERIC_WRITE)
- || dwShareMode & ~(FILE_SHARE_READ | FILE_SHARE_WRITE)
- || dwFlags != CONSOLE_TEXTMODE_BUFFER)
+ if ( (dwDesiredAccess & ~(GENERIC_READ | GENERIC_WRITE)) ||
+ (dwShareMode & ~(FILE_SHARE_READ | FILE_SHARE_WRITE)) ||
+ (dwFlags != CONSOLE_TEXTMODE_BUFFER) )
{
SetLastError(ERROR_INVALID_PARAMETER);
return INVALID_HANDLE_VALUE;
}
{
SetLastError(ERROR_INVALID_PARAMETER);
return INVALID_HANDLE_VALUE;
}
- Request.Data.CreateScreenBufferRequest.Access = dwDesiredAccess;
- Request.Data.CreateScreenBufferRequest.ShareMode = dwShareMode;
- Request.Data.CreateScreenBufferRequest.Inheritable =
- lpSecurityAttributes ? lpSecurityAttributes->bInheritHandle : FALSE;
+ ApiMessage.Data.CreateScreenBufferRequest.Access = dwDesiredAccess;
+ ApiMessage.Data.CreateScreenBufferRequest.ShareMode = dwShareMode;
+ ApiMessage.Data.CreateScreenBufferRequest.Inheritable =
+ (lpSecurityAttributes ? lpSecurityAttributes->bInheritHandle : FALSE);
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, CREATE_SCREEN_BUFFER),
- sizeof(CSR_API_MESSAGE));
- if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepCreateScreenBuffer),
+ sizeof(CSRSS_CREATE_SCREEN_BUFFER));
+ if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return INVALID_HANDLE_VALUE;
}
{
BaseSetLastNTError(Status);
return INVALID_HANDLE_VALUE;
}
- return Request.Data.CreateScreenBufferRequest.OutputHandle;
+
+ return ApiMessage.Data.CreateScreenBufferRequest.OutputHandle;
WINAPI
GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo)
{
WINAPI
GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo)
{
- CSR_API_MESSAGE Request;
- NTSTATUS Status = CsrClientCallServer(&Request,
- NULL,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, GET_CONSOLE_SELECTION_INFO),
- sizeof(CSR_API_MESSAGE));
- if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ NTSTATUS Status;
+ CONSOLE_API_MESSAGE ApiMessage;
+
+ if (lpConsoleSelectionInfo == NULL)
+ {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
+ NULL,
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepGetSelectionInfo),
+ sizeof(CSRSS_GET_CONSOLE_SELECTION_INFO));
+ if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return FALSE;
}
{
BaseSetLastNTError(Status);
return FALSE;
}
- *lpConsoleSelectionInfo = Request.Data.GetConsoleSelectionInfo.Info;
+ *lpConsoleSelectionInfo = ApiMessage.Data.GetConsoleSelectionInfo.Info;
/*--------------------------------------------------------------
* GetConsoleWindow
*
/*--------------------------------------------------------------
* GetConsoleWindow
*
WINAPI
GetConsoleWindow(VOID)
{
WINAPI
GetConsoleWindow(VOID)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, GET_CONSOLE_WINDOW),
- sizeof(CSR_API_MESSAGE));
- if (!NT_SUCCESS(Status ) || !NT_SUCCESS(Status = Request.Status))
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepGetConsoleWindow),
+ sizeof(CSRSS_GET_CONSOLE_WINDOW));
+ if (!NT_SUCCESS(Status ) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return (HWND) NULL;
}
{
BaseSetLastNTError(Status);
return (HWND) NULL;
}
- return Request.Data.GetConsoleWindowRequest.WindowHandle;
+ return ApiMessage.Data.GetConsoleWindowRequest.WindowHandle;
WINAPI
SetConsoleIcon(HICON hicon)
{
WINAPI
SetConsoleIcon(HICON hicon)
{
- CSR_API_MESSAGE Request;
+ CONSOLE_API_MESSAGE ApiMessage;
- Request.Data.SetConsoleIconRequest.WindowIcon = hicon;
+ ApiMessage.Data.SetConsoleIconRequest.WindowIcon = hicon;
- Status = CsrClientCallServer(&Request,
+ Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
- CSR_CREATE_API_NUMBER(CSR_CONSOLE, SET_CONSOLE_ICON),
- sizeof(CSR_API_MESSAGE));
- if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Request.Status))
+ CSR_CREATE_API_NUMBER(CONSRV_SERVERDLL_INDEX, ConsolepSetIcon),
+ sizeof(CSRSS_SET_CONSOLE_ICON));
+ if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = ApiMessage.Status))
{
BaseSetLastNTError(Status);
return FALSE;
{
BaseSetLastNTError(Status);
return FALSE;
typedef struct
{
HANDLE ConsoleHandle;
typedef struct
{
HANDLE ConsoleHandle;
} CSRSS_CONSOLE_HW_STATE, *PCSRSS_CONSOLE_HW_STATE;
typedef struct
{
} CSRSS_CONSOLE_HW_STATE, *PCSRSS_CONSOLE_HW_STATE;
typedef struct
{
} CSRSS_GET_CONSOLE_WINDOW, *PCSRSS_GET_CONSOLE_WINDOW;
typedef struct
{
} CSRSS_GET_CONSOLE_WINDOW, *PCSRSS_GET_CONSOLE_WINDOW;
typedef struct
{
} CSRSS_SET_CONSOLE_ICON, *PCSRSS_SET_CONSOLE_ICON;
} CSRSS_SET_CONSOLE_ICON, *PCSRSS_SET_CONSOLE_ICON;