33#define WIN32_NO_STATUS
53 0, 0, { (
DWORD_PTR)(__FILE__
": console_section") }
60#define CONSOLE_INPUT_HANDLE 0x01
61#define CONSOLE_OUTPUT_HANDLE 0x02
62#define CONSOLE_ERROR_HANDLE 0x04
93 WARN(
"Incorrect access to Shell-no-window console (ioctl=%lx)\n",
code);
125 buffer[
i].Event.KeyEvent.uChar.AsciiChar =
ch;
140 buffer[
i].Event.KeyEvent.uChar.UnicodeChar =
ch;
180 c.X =
info.max_width;
181 c.Y =
info.max_height;
200 c.X =
info.font_width;
201 c.Y =
info.font_height;
222 size -=
sizeof(*params);
307 if (std_out && std_err)
return TRUE;
371 WARN(
"console already attached\n" );
420 memset( &console_si, 0,
sizeof(console_si) );
479 ERR(
"Can't allocate console\n");
520 attr.SecurityDescriptor =
sa ?
sa->lpSecurityDescriptor :
NULL;
549 caught_by_dbg =
FALSE;
552 if (caught_by_dbg)
return 0;
595 TRACE(
"(%p,%d,%ld,(%dx%d),%p)\n",
handle,
attr,
length,
coord.X,
coord.Y, written );
613 written,
sizeof(*written),
NULL );
638 TRACE(
"(%p,%s,%ld,(%dx%d),%p)\n",
handle,
debugstr_wn(&
ch, 1),
length,
coord.X,
coord.Y, written );
656 written,
sizeof(*written),
NULL );
828 return info.input_cp;
870#if defined(__i386__) && !defined(__MINGW32__) && !defined(_MSC_VER)
871#undef GetConsoleFontSize
964 return info.output_cp;
1012 &condrv_info,
sizeof(condrv_info),
NULL ))
1019 info->wAttributes = condrv_info.
attr;
1027 TRACE(
"(%p,(%d,%d) (%d,%d) %d (%d,%d-%d,%d) (%d,%d)\n",
handle,
1028 info->dwSize.X,
info->dwSize.Y,
info->dwCursorPosition.X,
info->dwCursorPosition.Y,
1029 info->wAttributes,
info->srWindow.Left,
info->srWindow.Top,
info->srWindow.Right,
1030 info->srWindow.Bottom,
info->dwMaximumWindowSize.X,
info->dwMaximumWindowSize.Y );
1050 sizeof(condrv_info),
NULL ))
1057 info->wAttributes = condrv_info.
attr;
1146 info->dwFontSize.X =
data.info.font_width;
1147 info->dwFontSize.Y =
data.info.font_height;
1152 info->FontFamily =
data.info.font_pitch_family;
1153 info->FontWeight =
data.info.font_weight;
1172 info->dwFontSize.X =
res.dwFontSize.X;
1173 info->dwFontSize.Y =
res.dwFontSize.Y;
1182#if defined(__i386__) && !defined(__MINGW32__) && !defined(_MSC_VER)
1183#undef GetLargestConsoleWindowSize
1263 TRACE(
"(%p,%p,%ld,%dx%d,%p)\n",
handle,
attr,
length,
coord.X,
coord.Y,
count );
1277 *
count /=
sizeof(*attr);
1323 TRACE(
"(%p,%p,%ld,%dx%d,%p)\n",
handle,
buffer,
length,
coord.X,
coord.Y,
count );
1337 *
count /=
sizeof(*buffer);
1441 TRACE(
"(%p,(%d,%d-%d,%d),(%d,%d-%d,%d),%d-%d,%p)\n",
handle,
1446 TRACE(
"(%p,(%d,%d-%d,%d),(nil),%d-%d,%p)\n",
handle,
1459 else params.clip = *clip_rect;
1501 if (add)
NtCurrentTeb()->Peb->ProcessParameters->ConsoleFlags |= 1;
1502 else NtCurrentTeb()->Peb->ProcessParameters->ConsoleFlags &= ~1;
1521 if ((*p_handler)->func ==
func)
break;
1662 params.info.cursor_x =
info->dwCursorPosition.X;
1663 params.info.cursor_y =
info->dwCursorPosition.Y;
1667 params.info.win_right =
info->srWindow.Right;
1668 params.info.win_bottom =
info->srWindow.Bottom;
1669 params.info.popup_attr =
info->wPopupAttributes;
1741 TRACE(
"(%p,%d,(%d,%d-%d,%d))\n",
handle, absolute,
rect.Left,
rect.Top,
rect.Right,
rect.Bottom );
1751 rect.Bottom +=
info.srWindow.Bottom;
1785 data.params.info.font_width =
info->dwFontSize.X;
1786 data.params.info.font_height =
info->dwFontSize.Y;
1787 data.params.info.font_pitch_family =
info->FontFamily;
1788 data.params.info.font_weight =
info->FontWeight;
1820 *
count /=
sizeof(*buffer);
1910 new_coord.
X = new_coord.
Y = 0;
1928 TRACE(
"(%p,%p,(%d,%d),(%d,%d),(%d,%dx%d,%d)\n",
1943 params_size =
sizeof(*params) +
width *
height *
sizeof(*buffer);
1974 TRACE(
"(%p,%p,%ld,%dx%d,%p)\n",
handle,
attr,
length,
coord.X,
coord.Y, written );
2006 TRACE(
"(%p,%s,%ld,%dx%d,%p)\n",
handle,
debugstr_an(
str,
length),
length,
coord.X,
coord.Y, written );
2041 TRACE(
"(%p,%s,%ld,%dx%d,%p)\n",
handle,
debugstr_wn(
str,
length),
length,
coord.X,
coord.Y, written );
2116 memcpy( &crc->dwConsoleKeyState, tmp,
sizeof(
DWORD) );
2140 TRACE(
"(%p,%s,%ld,%p,%p)\n",
handle,
debugstr_an(
buffer,
length),
length, written,
reserved );
2143 if (written) *written =
ret ?
length : 0;
2156 TRACE(
"(%p,%s,%ld,%p,%p)\n",
handle,
debugstr_wn(
buffer,
length),
length, written,
reserved );
2160 if (written) *written =
ret ?
length : 0;
2190 unsigned int inherit_count;
2210 si.StartupInfo.hStdInput =
input;
2211 si.StartupInfo.hStdOutput = output;
2212 si.StartupInfo.hStdError = output;
2217 inherit_count =
signal ? 2 : 1;
2233 L"\"%s\" --headless %s--width %u --height %u --signal 0x%x --server 0x%x",
2268 WCHAR pipe_name[64];
2350 tty_in =
params->hStdInput;
2355 tty_out =
params->hStdOutput;
2361 else tty_out =
params->hStdError;
2367 TRACE(
"creating unix console (size %u %u)\n",
size.X,
size.Y );
std::map< E_MODULE, HMODULE > mod
_STLP_MOVE_TO_STD_NAMESPACE void fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
#define DECLSPEC_HOTPATCH
static struct sockaddr_in sa
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define FILE_NON_DIRECTORY_FILE
BOOL WINAPI SetConsoleOutputCP(IN UINT wCodepage)
BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE hConsoleOutput, IN LPCSTR lpCharacter, IN DWORD nLength, IN COORD dwWriteCoord, OUT LPDWORD lpNumberOfCharsWritten)
BOOL WINAPI FlushConsoleInputBuffer(IN HANDLE hConsoleInput)
BOOL WINAPI FillConsoleOutputCharacterA(IN HANDLE hConsoleOutput, IN CHAR cCharacter, IN DWORD nLength, IN COORD dwWriteCoord, OUT LPDWORD lpNumberOfCharsWritten)
BOOL WINAPI SetConsoleCursorPosition(IN HANDLE hConsoleOutput, IN COORD dwCursorPosition)
BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE hConsoleOutput, IN LPCWSTR lpCharacter, IN DWORD nLength, IN COORD dwWriteCoord, OUT LPDWORD lpNumberOfCharsWritten)
HANDLE WINAPI GetStdHandle(IN DWORD nStdHandle)
BOOL WINAPI SetConsoleTextAttribute(IN HANDLE hConsoleOutput, IN WORD wAttributes)
BOOL WINAPI SetConsoleCursorInfo(IN HANDLE hConsoleOutput, IN const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo)
BOOL WINAPI AttachConsole(IN DWORD dwProcessId)
BOOL WINAPI FillConsoleOutputAttribute(IN HANDLE hConsoleOutput, IN WORD wAttribute, IN DWORD nLength, IN COORD dwWriteCoord, OUT LPDWORD lpNumberOfAttrsWritten)
BOOL WINAPI GetConsoleScreenBufferInfo(IN HANDLE hConsoleOutput, OUT PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo)
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define STATUS_INVALID_HANDLE
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INVALID_FUNCTION
BOOL WINAPI Beep(IN DWORD dwFreq, IN DWORD dwDuration)
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
static __inline BOOL set_ntstatus(NTSTATUS status)
#define RTL_CONSTANT_STRING(s)
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define INVALID_HANDLE_VALUE
static __inline const char * debugstr_an(const char *s, int n)
#define GetCurrentProcess()
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
#define FILE_ATTRIBUTE_NORMAL
#define WideCharToMultiByte
#define MultiByteToWideChar
#define ERROR_ACCESS_DENIED
BOOL WINAPI SetConsoleWindowInfo(HANDLE hConsoleOutput, BOOL bAbsolute, CONST SMALL_RECT *lpConsoleWindow)
DWORD WINAPI DECLSPEC_HOTPATCH GetConsoleTitleA(LPSTR lpConsoleTitle, DWORD nSize)
BOOL WINAPI DECLSPEC_HOTPATCH ScrollConsoleScreenBufferA(HANDLE hConsoleOutput, CONST SMALL_RECT *lpScrollRectangle, CONST SMALL_RECT *lpClipRectangle, COORD dwDestinationOrigin, CONST CHAR_INFO *lpFill)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleScreenBufferSize(HANDLE hConsoleOutput, COORD dwSize)
COORD WINAPI DECLSPEC_HOTPATCH GetLargestConsoleWindowSize(HANDLE hConsoleOutput)
BOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD lpNumberOfMouseButtons)
HANDLE WINAPI CreateConsoleScreenBuffer(DWORD dwDesiredAccess, DWORD dwShareMode, CONST SECURITY_ATTRIBUTES *lpSecurityAttributes, DWORD dwFlags, LPVOID lpScreenBufferData)
BOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle, LPDWORD lpMode)
BOOL WINAPI GetCurrentConsoleFont(IN HANDLE hConsoleOutput, IN BOOL bMaximumWindow, OUT PCONSOLE_FONT_INFO lpConsoleCurrentFont)
BOOL WINAPI GetConsoleDisplayMode(LPDWORD lpModeFlags)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleTitleA(LPCSTR lpConsoleTitle)
COORD WINAPI DECLSPEC_HOTPATCH GetConsoleFontSize(IN HANDLE hConsoleOutput, IN DWORD nFont)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleCP(UINT wCodePageID)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleTitleW(LPCWSTR lpConsoleTitle)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleMode(HANDLE hConsoleHandle, DWORD dwMode)
BOOL WINAPI SetConsoleDisplayMode(HANDLE hConsoleOutput, DWORD dwFlags, PCOORD lpNewScreenBufferDimensions)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine, BOOL Add)
BOOL WINAPI DECLSPEC_HOTPATCH SetStdHandle(DWORD nStdHandle, HANDLE hHandle)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput)
BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE hConsoleInput, LPDWORD lpNumberOfEvents)
BOOL WINAPI GetConsoleCursorInfo(HANDLE hConsoleOutput, PCONSOLE_CURSOR_INFO lpConsoleCursorInfo)
DWORD WINAPI DECLSPEC_HOTPATCH GetConsoleInputExeNameW(IN DWORD nBufferLength, OUT LPWSTR lpExeName)
DWORD WINAPI DECLSPEC_HOTPATCH GetConsoleTitleW(LPWSTR lpConsoleTitle, DWORD nSize)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleInputExeNameW(IN LPCWSTR lpExeName)
DWORD WINAPI GetConsoleProcessList(LPDWORD lpdwProcessList, DWORD dwProcessCount)
DWORD WINAPI DECLSPEC_HOTPATCH GetConsoleInputExeNameA(IN DWORD nBufferLength, OUT LPSTR lpExeName)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleInputExeNameA(IN LPCSTR lpExeName)
BOOL WINAPI DECLSPEC_HOTPATCH GenerateConsoleCtrlEvent(DWORD dwCtrlEvent, DWORD dwProcessGroupId)
BOOL WINAPI DECLSPEC_HOTPATCH ScrollConsoleScreenBufferW(HANDLE hConsoleOutput, CONST SMALL_RECT *lpScrollRectangle, CONST SMALL_RECT *lpClipRectangle, COORD dwDestinationOrigin, CONST CHAR_INFO *lpFill)
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
BOOL WINAPI DuplicateHandle(IN HANDLE hSourceProcessHandle, IN HANDLE hSourceHandle, IN HANDLE hTargetProcessHandle, OUT LPHANDLE lpTargetHandle, IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwOptions)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
VOID WINAPI GetStartupInfoW(IN LPSTARTUPINFOW lpStartupInfo)
BOOL WINAPI Wow64RevertWow64FsRedirection(IN PVOID OldValue)
BOOL WINAPI Wow64DisableWow64FsRedirection(IN PVOID *OldValue)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleInputA(HANDLE handle, const INPUT_RECORD *buffer, DWORD count, DWORD *written)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleOutputA(HANDLE handle, const CHAR_INFO *buffer, COORD size, COORD coord, SMALL_RECT *region)
DWORD WINAPI GetConsoleCommandHistoryW(LPWSTR buffer, DWORD len, LPCWSTR exename)
BOOL WINAPI DECLSPEC_HOTPATCH FreeConsole(void)
void WINAPI ClosePseudoConsole(HPCON handle)
DWORD WINAPI GetConsoleCommandHistoryA(LPSTR buffer, DWORD len, LPCSTR exename)
static void char_info_WtoA(UINT cp, CHAR_INFO *buffer, int count)
BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputA(HANDLE handle, INPUT_RECORD *buffer, DWORD length, DWORD *count)
BOOL WINAPI AddConsoleAliasW(LPWSTR source, LPWSTR target, LPWSTR exename)
static BOOL alloc_console(BOOL headless)
void WINAPI ExpungeConsoleCommandHistoryA(LPCSTR exename)
static HANDLE create_console_server(void)
UINT WINAPI DECLSPEC_HOTPATCH GetConsoleCP(void)
static BOOL WINAPI default_ctrl_handler(DWORD type)
static HANDLE create_pseudo_console(COORD size, HANDLE input, HANDLE output, HANDLE signal, DWORD flags, HANDLE *process)
static BOOL create_console_connection(HANDLE root)
BOOL WINAPI ReadConsoleInputA(HANDLE handle, INPUT_RECORD *buffer, DWORD length, DWORD *count)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleScreenBufferInfoEx(HANDLE handle, CONSOLE_SCREEN_BUFFER_INFOEX *info)
BOOL WINAPI GetCurrentConsoleFontEx(HANDLE handle, BOOL maxwindow, CONSOLE_FONT_INFOEX *info)
static COORD get_largest_console_window_size(HANDLE handle)
BOOL WINAPI ReadConsoleA(HANDLE handle, void *buffer, DWORD length, DWORD *count, void *reserved)
static struct ctrl_handler * ctrl_handlers
#define CONSOLE_INPUT_HANDLE
DWORD WINAPI GetConsoleAliasW(LPWSTR source, LPWSTR buffer, DWORD len, LPWSTR exename)
BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputW(HANDLE handle, INPUT_RECORD *buffer, DWORD length, DWORD *count)
static WCHAR input_exe[MAX_PATH+1]
DWORD WINAPI GetConsoleAliasExesLengthW(void)
DWORD WINAPI DECLSPEC_HOTPATCH GetConsoleOriginalTitleA(LPSTR title, DWORD size)
static struct ctrl_handler default_handler
static CRITICAL_SECTION_DEBUG critsect_debug
BOOL WINAPI AddConsoleAliasA(LPSTR source, LPSTR target, LPSTR exename)
HRESULT WINAPI CreatePseudoConsole(COORD size, HANDLE input, HANDLE output, DWORD flags, HPCON *ret)
static void char_info_AtoW(CHAR_INFO *buffer, int count)
BOOL WINAPI ReadConsoleInputW(HANDLE handle, INPUT_RECORD *buffer, DWORD length, DWORD *count)
DWORD WINAPI DECLSPEC_HOTPATCH GetConsoleOriginalTitleW(LPWSTR title, DWORD size)
BOOL WINAPI DECLSPEC_HOTPATCH GetConsoleScreenBufferInfoEx(HANDLE handle, CONSOLE_SCREEN_BUFFER_INFOEX *info)
UINT WINAPI DECLSPEC_HOTPATCH GetConsoleOutputCP(void)
DWORD WINAPI GetConsoleCommandHistoryLengthA(LPCSTR exename)
BOOL WINAPI SetCurrentConsoleFontEx(HANDLE handle, BOOL maxwindow, CONSOLE_FONT_INFOEX *info)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleInputW(HANDLE handle, const INPUT_RECORD *buffer, DWORD count, DWORD *written)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleOutputW(HANDLE handle, CHAR_INFO *buffer, COORD size, COORD coord, SMALL_RECT *region)
#define CONSOLE_OUTPUT_HANDLE
DWORD WINAPI GetConsoleAliasesLengthA(LPSTR unknown)
void WINAPI ExpungeConsoleCommandHistoryW(LPCWSTR exename)
DWORD WINAPI CtrlRoutine(void *arg)
DWORD WINAPI GetConsoleCommandHistoryLengthW(LPCWSTR exename)
static void input_records_WtoA(INPUT_RECORD *buffer, int count)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleOutputCharacterW(HANDLE handle, LPWSTR buffer, DWORD length, COORD coord, DWORD *count)
#define CONSOLE_ERROR_HANDLE
BOOL WINAPI AllocConsole(void)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleOutputCharacterA(HANDLE handle, LPSTR buffer, DWORD length, COORD coord, DWORD *count)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleW(HANDLE handle, const void *buffer, DWORD length, DWORD *written, void *reserved)
static COORD get_console_font_size(HANDLE handle, DWORD index)
HRESULT WINAPI ResizePseudoConsole(HPCON handle, COORD size)
static CRITICAL_SECTION console_section
BOOL WINAPI DECLSPEC_HOTPATCH FillConsoleOutputCharacterW(HANDLE handle, WCHAR ch, DWORD length, COORD coord, DWORD *written)
static BOOL console_ioctl(HANDLE handle, DWORD code, void *in_buff, DWORD in_count, void *out_buff, DWORD out_count, DWORD *read)
static HANDLE console_connection
DWORD WINAPI GetConsoleAliasesLengthW(LPWSTR unknown)
static DWORD get_console_title(WCHAR *title, DWORD size, BOOL current_title)
HWND WINAPI GetConsoleWindow(void)
static HANDLE create_console_reference(HANDLE root)
static BOOL init_console_std_handles(BOOL override_all)
static BOOL is_tty_handle(HANDLE handle)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleA(HANDLE handle, const void *buffer, DWORD length, DWORD *written, void *reserved)
DWORD WINAPI GetConsoleAliasA(LPSTR source, LPSTR buffer, DWORD len, LPSTR exename)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleOutputAttribute(HANDLE handle, WORD *attr, DWORD length, COORD coord, DWORD *count)
static unsigned int console_flags
BOOL WINAPI ReadConsoleW(HANDLE handle, void *buffer, DWORD length, DWORD *count, void *reserved)
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleOutputA(HANDLE handle, CHAR_INFO *buffer, COORD size, COORD coord, SMALL_RECT *region)
static void input_records_AtoW(INPUT_RECORD *buffer, int count)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleOutputW(HANDLE handle, const CHAR_INFO *buffer, COORD size, COORD coord, SMALL_RECT *region)
DWORD WINAPI GetConsoleAliasExesLengthA(void)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleOutputAttribute(HANDLE handle, const WORD *attr, DWORD length, COORD coord, DWORD *written)
BOOL WINAPI DECLSPEC_HOTPATCH UpdateProcThreadAttribute(struct _PROC_THREAD_ATTRIBUTE_LIST *list, DWORD flags, DWORD_PTR attr, void *value, SIZE_T size, void *prev_ret, SIZE_T *size_ret)
BOOL WINAPI DECLSPEC_HOTPATCH InitializeProcThreadAttributeList(struct _PROC_THREAD_ATTRIBUTE_LIST *list, DWORD count, DWORD flags, SIZE_T *size)
UINT(* handler)(MSIPACKAGE *)
_ACRTIMP size_t __cdecl wcsnlen(const wchar_t *, size_t)
#define FILE_SYNCHRONOUS_IO_NONALERT
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLenum const GLfloat * params
GLuint GLsizei GLsizei * length
GLuint GLint GLboolean GLint GLenum access
GLenum GLenum GLenum input
GLubyte GLubyte GLubyte GLubyte w
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static const WCHAR titleW[]
#define memcpy(s1, s2, n)
#define FILE_FLAG_OVERLAPPED
static PROCESS_INFORMATION pi
static IHTMLWindow2 * window
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK io
static PIO_STATUS_BLOCK iosb
static LARGE_INTEGER * frequency
static UINT UINT * out_count
unsigned __int3264 UINT_PTR
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ EVENT_TYPE EventType
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlLeaveCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
HANDLE WINAPI CreateNamedPipeW(LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
#define FILE_READ_ATTRIBUTES
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI NTSTATUS NTAPI NtDeviceIoControlFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG DeviceIoControlCode, IN PVOID InBuffer OPTIONAL, IN ULONG InBufferLength, OUT PVOID OutBuffer OPTIONAL, IN ULONG OutBufferLength)
#define FILE_SHARE_DELETE
#define FILE_WRITE_ATTRIBUTES
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
NTSTATUS NTAPI NtCreateFile(OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PLARGE_INTEGER AllocationSize OPTIONAL, IN ULONG FileAttributes, IN ULONG ShareAccess, IN ULONG CreateDisposition, IN ULONG CreateOptions, IN PVOID EaBuffer OPTIONAL, IN ULONG EaLength)
#define IMAGE_SUBSYSTEM_WINDOWS_CUI
#define STATUS_CONTROL_C_EXIT
static condrv_handle_t condrv_handle(HANDLE handle)
#define IOCTL_CONDRV_GET_WINDOW
#define IOCTL_CONDRV_CTRL_EVENT
#define IOCTL_CONDRV_GET_MODE
@ CHAR_INFO_MODE_TEXTATTR
#define IOCTL_CONDRV_READ_CONSOLE_CONTROL
#define IOCTL_CONDRV_READ_OUTPUT
#define CONSOLE_HANDLE_SHELL_NO_WINDOW
#define IOCTL_CONDRV_SET_MODE
#define IOCTL_CONDRV_SET_INPUT_INFO
#define IOCTL_CONDRV_PEEK
#define CONSOLE_HANDLE_ALLOC
#define CONSOLE_HANDLE_SHELL
#define IOCTL_CONDRV_READ_INPUT
#define SET_CONSOLE_OUTPUT_INFO_CURSOR_GEOM
#define IOCTL_CONDRV_BEEP
#define IOCTL_CONDRV_GET_TITLE
#define IOCTL_CONDRV_GET_PROCESS_LIST
#define CONSOLE_HANDLE_ALLOC_NO_WINDOW
#define IOCTL_CONDRV_GET_OUTPUT_INFO
#define IOCTL_CONDRV_BIND_PID
#define IOCTL_CONDRV_WRITE_CONSOLE
#define IOCTL_CONDRV_FILL_OUTPUT
#define IOCTL_CONDRV_GET_INPUT_COUNT
#define SET_CONSOLE_OUTPUT_INFO_MAX_SIZE
unsigned int condrv_handle_t
#define IOCTL_CONDRV_WRITE_FILE
#define SET_CONSOLE_OUTPUT_INFO_ATTR
#define SET_CONSOLE_INPUT_INFO_OUTPUT_CODEPAGE
#define SET_CONSOLE_OUTPUT_INFO_POPUP_ATTR
#define IOCTL_CONDRV_SET_OUTPUT_INFO
#define SET_CONSOLE_OUTPUT_INFO_FONT
#define SET_CONSOLE_INPUT_INFO_INPUT_CODEPAGE
#define IOCTL_CONDRV_FLUSH
#define IOCTL_CONDRV_READ_CONSOLE
#define IOCTL_CONDRV_WRITE_INPUT
#define IOCTL_CONDRV_SET_TITLE
#define IOCTL_CONDRV_READ_FILE
#define IOCTL_CONDRV_GET_INPUT_INFO
#define IOCTL_CONDRV_ACTIVATE
#define IOCTL_CONDRV_WRITE_OUTPUT
#define SET_CONSOLE_OUTPUT_INFO_SIZE
#define IOCTL_CONDRV_SCROLL
#define SET_CONSOLE_OUTPUT_INFO_DISPLAY_WINDOW
#define SET_CONSOLE_OUTPUT_INFO_CURSOR_POS
#define STATUS_BUFFER_TOO_SMALL
union _CHAR_INFO::@3563 Char
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
LIST_ENTRY ProcessLocksList
LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList
struct condrv_output_info info
unsigned int color_map[16]
struct ctrl_handler * next
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
#define STATUS_INVALID_PARAMETER
static rfbScreenInfoPtr server
char system_dir[MAX_PATH]
struct _STARTUPINFOEXW STARTUPINFOEXW
#define PIPE_ACCESS_INBOUND
#define STD_OUTPUT_HANDLE
DWORD WINAPI GetLastError(void)
#define STARTF_USESHOWWINDOW
#define STARTF_USECOUNTCHARS
#define NMPWAIT_USE_DEFAULT_WAIT
DWORD WINAPI GetCurrentThreadId(void)
DWORD WINAPI GetCurrentProcessId(void)
#define STARTF_USEFILLATTRIBUTE
#define EXTENDED_STARTUPINFO_PRESENT
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST
#define STARTF_USESTDHANDLES
#define PIPE_UNLIMITED_INSTANCES
struct _CONSOLE_FONT_INFOEX CONSOLE_FONT_INFOEX
#define CONSOLE_TEXTMODE_BUFFER
#define PSEUDOCONSOLE_INHERIT_CURSOR
BOOL(WINAPI * PHANDLER_ROUTINE)(_In_ DWORD CtrlType)
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
NTSYSAPI PEB *WINAPI RtlGetCurrentPeb(void)
NTSYSAPI void DECLSPEC_NORETURN WINAPI RtlExitUserProcess(ULONG)
#define ERROR_BUFFER_OVERFLOW
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define ERROR_INVALID_ACCESS
#define FILE_READ_PROPERTIES
#define FILE_WRITE_PROPERTIES
#define DUPLICATE_SAME_ACCESS