mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-30 04:13:33 +00:00
[KERNEL32]
- Simplify initialization of CONSOLE_START_INFO objects by also initializing their AppPath member in InitConsoleInfo. - Add two members IconPath and IconIndex in the CONSOLE_START_INFO structure, to be used in a future work... [HEADERS] - CHAR_INFO* == PCHAR_INFO - Add two informative comments for two fields of the CONSOLE_READOUTPUT structure (again, to be used in a future work...) svn path=/trunk/; revision=59234
This commit is contained in:
@@ -937,8 +937,6 @@ AllocConsole(VOID)
|
||||
CONSOLE_API_MESSAGE ApiMessage;
|
||||
PCONSOLE_ALLOCCONSOLE AllocConsoleRequest = &ApiMessage.Data.AllocConsoleRequest;
|
||||
PCSR_CAPTURE_BUFFER CaptureBuffer;
|
||||
LPWSTR AppPath = NULL;
|
||||
SIZE_T Length = 0;
|
||||
|
||||
if (Parameters->ConsoleHandle)
|
||||
{
|
||||
@@ -959,14 +957,8 @@ AllocConsole(VOID)
|
||||
sizeof(CONSOLE_START_INFO),
|
||||
(PVOID*)&AllocConsoleRequest->ConsoleStartInfo);
|
||||
|
||||
/** Copied from BasepInitConsole **********************************************/
|
||||
InitConsoleInfo(AllocConsoleRequest->ConsoleStartInfo);
|
||||
|
||||
AppPath = AllocConsoleRequest->ConsoleStartInfo->AppPath;
|
||||
Length = min(MAX_PATH, Parameters->ImagePathName.Length / sizeof(WCHAR));
|
||||
wcsncpy(AppPath, Parameters->ImagePathName.Buffer, Length);
|
||||
AppPath[Length] = L'\0';
|
||||
/******************************************************************************/
|
||||
InitConsoleInfo(AllocConsoleRequest->ConsoleStartInfo,
|
||||
&Parameters->ImagePathName);
|
||||
|
||||
AllocConsoleRequest->Console = NULL;
|
||||
AllocConsoleRequest->CtrlDispatcher = ConsoleControlDispatcher;
|
||||
|
||||
@@ -108,12 +108,16 @@ PropDialogHandler(IN LPVOID lpThreadParameter)
|
||||
|
||||
|
||||
VOID
|
||||
InitConsoleInfo(IN OUT PCONSOLE_START_INFO ConsoleStartInfo)
|
||||
InitConsoleInfo(IN OUT PCONSOLE_START_INFO ConsoleStartInfo,
|
||||
IN PUNICODE_STRING ImagePathName)
|
||||
{
|
||||
STARTUPINFOW si;
|
||||
SIZE_T Length;
|
||||
|
||||
/* Get the startup information */
|
||||
GetStartupInfoW(&si);
|
||||
|
||||
/* Initialize the fields */
|
||||
ConsoleStartInfo->dwStartupFlags = si.dwFlags;
|
||||
if (si.dwFlags & STARTF_USEFILLATTRIBUTE)
|
||||
{
|
||||
@@ -138,12 +142,8 @@ InitConsoleInfo(IN OUT PCONSOLE_START_INFO ConsoleStartInfo)
|
||||
ConsoleStartInfo->ConsoleWindowSize.cx = (LONG)(si.dwXSize);
|
||||
ConsoleStartInfo->ConsoleWindowSize.cy = (LONG)(si.dwYSize);
|
||||
}
|
||||
/*
|
||||
if (si.dwFlags & STARTF_RUNFULLSCREEN)
|
||||
{
|
||||
}
|
||||
*/
|
||||
|
||||
/* Set up the title for the console */
|
||||
if (si.lpTitle)
|
||||
{
|
||||
wcsncpy(ConsoleStartInfo->ConsoleTitle, si.lpTitle, MAX_PATH + 1);
|
||||
@@ -152,6 +152,16 @@ InitConsoleInfo(IN OUT PCONSOLE_START_INFO ConsoleStartInfo)
|
||||
{
|
||||
ConsoleStartInfo->ConsoleTitle[0] = L'\0';
|
||||
}
|
||||
|
||||
/* Retrieve the application path name */
|
||||
Length = min(sizeof(ConsoleStartInfo->AppPath) / sizeof(ConsoleStartInfo->AppPath[0]) - 1,
|
||||
ImagePathName->Length / sizeof(WCHAR));
|
||||
wcsncpy(ConsoleStartInfo->AppPath, ImagePathName->Buffer, Length);
|
||||
ConsoleStartInfo->AppPath[Length] = L'\0';
|
||||
|
||||
/* The Console Server will use these fields to set up the console icon */
|
||||
ConsoleStartInfo->IconPath[0] = L'\0';
|
||||
ConsoleStartInfo->IconIndex = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -191,15 +201,10 @@ BasepInitConsole(VOID)
|
||||
}
|
||||
else
|
||||
{
|
||||
SIZE_T Length = 0;
|
||||
LPCWSTR ExeName;
|
||||
|
||||
InitConsoleInfo(&ConnectInfo.ConsoleStartInfo);
|
||||
|
||||
Length = min(sizeof(ConnectInfo.ConsoleStartInfo.AppPath) / sizeof(ConnectInfo.ConsoleStartInfo.AppPath[0]) - 1,
|
||||
Parameters->ImagePathName.Length / sizeof(WCHAR));
|
||||
wcsncpy(ConnectInfo.ConsoleStartInfo.AppPath, Parameters->ImagePathName.Buffer, Length);
|
||||
ConnectInfo.ConsoleStartInfo.AppPath[Length] = L'\0';
|
||||
InitConsoleInfo(&ConnectInfo.ConsoleStartInfo,
|
||||
&Parameters->ImagePathName);
|
||||
|
||||
/* Initialize Input EXE name */
|
||||
ExeName = wcsrchr(Parameters->ImagePathName.Buffer, L'\\');
|
||||
|
||||
@@ -51,7 +51,8 @@ HANDLE FASTCALL
|
||||
TranslateStdHandle(HANDLE hHandle);
|
||||
|
||||
VOID
|
||||
InitConsoleInfo(IN OUT PCONSOLE_START_INFO ConsoleStartInfo);
|
||||
InitConsoleInfo(IN OUT PCONSOLE_START_INFO ConsoleStartInfo,
|
||||
IN PUNICODE_STRING ImagePathName);
|
||||
|
||||
LPCWSTR
|
||||
IntCheckForConsoleFileName(IN LPCWSTR pszName,
|
||||
|
||||
@@ -122,6 +122,8 @@ typedef struct _CONSOLE_START_INFO
|
||||
// UNICODE_STRING ConsoleTitle;
|
||||
WCHAR ConsoleTitle[MAX_PATH + 1]; // Console title or full path to the startup shortcut
|
||||
WCHAR AppPath[MAX_PATH + 1]; // Full path of the launched app
|
||||
WCHAR IconPath[MAX_PATH + 1]; // Path to the file containing the icon
|
||||
INT IconIndex; // Index of the icon
|
||||
} CONSOLE_START_INFO, *PCONSOLE_START_INFO;
|
||||
|
||||
typedef struct _CONSOLE_CONNECTION_INFO
|
||||
@@ -315,7 +317,7 @@ typedef struct
|
||||
COORD BufferSize;
|
||||
COORD BufferCoord;
|
||||
SMALL_RECT WriteRegion;
|
||||
CHAR_INFO* CharInfo;
|
||||
PCHAR_INFO CharInfo;
|
||||
} CONSOLE_WRITEOUTPUT, *PCONSOLE_WRITEOUTPUT;
|
||||
|
||||
typedef struct
|
||||
@@ -372,12 +374,12 @@ typedef struct
|
||||
{
|
||||
HANDLE OutputHandle;
|
||||
|
||||
ULONG BufferSize;
|
||||
ULONG BufferSize; // Seems unusued
|
||||
WORD Length;
|
||||
COORD Coord;
|
||||
COORD EndCoord;
|
||||
|
||||
ULONG NrCharactersWritten;
|
||||
ULONG NrCharactersWritten; // Seems unusued
|
||||
|
||||
CODE_TYPE CodeType;
|
||||
union
|
||||
@@ -427,7 +429,7 @@ typedef struct
|
||||
COORD BufferSize;
|
||||
COORD BufferCoord;
|
||||
SMALL_RECT ReadRegion;
|
||||
CHAR_INFO* CharInfo;
|
||||
PCHAR_INFO CharInfo;
|
||||
} CONSOLE_READOUTPUT, *PCONSOLE_READOUTPUT;
|
||||
|
||||
typedef struct
|
||||
|
||||
Reference in New Issue
Block a user