source: trunk/src/kernel32/console2.h@ 91

Last change on this file since 91 was 46, checked in by sandervl, 26 years ago

* empty log message *

File size: 31.0 KB
Line 
1/*
2 *
3 * Project Odin Software License can be found in LICENSE.TXT
4 *
5 */
6/*
7 * Win32 Console Subsystem for OS/2
8 *
9 * 1998/02/11 PH Patrick Haller (haller@zebra.fh-weingarten.de)
10 *
11 * @(#) HandleManager.Cpp 1.0.0 1998/02/11 PH start
12 */
13
14#ifndef _CONSOLESUBSYSTEM_H_
15#define _CONSOLESUBSYSTEM_H_
16
17
18/*****************************************************************************
19 * Remark *
20 *****************************************************************************
21
22 */
23
24
25/*****************************************************************************
26 * Resources *
27 *****************************************************************************/
28
29#include "consolerc.h"
30
31
32/*****************************************************************************
33 * Includes *
34 *****************************************************************************/
35
36//#include <win32type.h>
37#include "handlemanager.h"
38#include <console.h>
39
40
41/*****************************************************************************
42 * Defines & Macros *
43 *****************************************************************************/
44
45
46#define CONSOLE_TEXTMODE_BUFFER 1
47
48
49/*****************************************************************************
50 * Structures *
51 *****************************************************************************/
52
53
54typedef struct _ConsoleBuffer
55{
56 /* A console buffer is a indexed array of lines. This technique allows */
57 /* much faster scrolling than a single large textbuffer. */
58 PSZ *ppszLine; /* an array of line pointers */
59 ULONG ulScrollLineOffset; /* offset to the 1st line in the buffer */
60
61 /* the following structures reflect the Win32 API structures */
62 CONSOLE_CURSOR_INFO CursorInfo;
63 COORD coordCursorPosition;
64
65 /* the mode the console is currently in */
66 DWORD dwConsoleMode;
67
68 /* information about the current screen buffer */
69 // CONSOLE_SCREEN_BUFFER_INFO ConsoleScreenBufferInfo;
70 COORD coordBufferSize;
71 UCHAR ucDefaultAttribute; /* default text attribute */
72 COORD coordWindowPosition; /* viewport position */
73 COORD coordWindowSize; /* viewport size */
74} CONSOLEBUFFER, *PCONSOLEBUFFER;
75
76
77
78/*****************************************************************************
79 * Prototypes *
80 *****************************************************************************/
81
82#ifdef __cplusplus
83extern "C" {
84#endif
85
86
87DWORD ConsoleInit(void); /* creation of the console subsystem */
88
89DWORD ConsoleDevicesRegister(void); /* create console devices */
90
91void ConsoleWaitClose(void); /* wait for user to close console */
92
93BOOL ConsoleIsActive(void); /* returns TRUE if console window open */
94
95#ifndef _OS2WIN_H
96
97BOOL WIN32API AllocConsole (VOID);
98
99HANDLE WIN32API CreateConsoleScreenBuffer (DWORD dwDesiredAccess,
100 DWORD dwShareMode,
101 LPVOID lpSecurityAttributes,
102 DWORD dwFlags,
103 LPVOID lpScreenBufferData);
104
105BOOL WIN32API FillConsoleOutputAttribute (HANDLE hConsoleOutput,
106 WORD wAttribute,
107 DWORD nLength,
108 COORD dwWriteCoord,
109 LPDWORD lpNumberOfAttrsWritten);
110
111BOOL WIN32API FillConsoleOutputCharacterW (HANDLE hConsoleOutput,
112 WCHAR cCharacter,
113 DWORD nLength,
114 COORD dwWriteCoord,
115 LPDWORD lpNumberOfCharsWritten);
116
117BOOL WIN32API FillConsoleOutputCharacterA (HANDLE hConsoleOutput,
118 UCHAR cCharacter,
119 DWORD nLength,
120 COORD dwWriteCoord,
121 LPDWORD lpNumberOfCharsWritten);
122
123
124BOOL WIN32API FlushConsoleInputBuffer (HANDLE hConsoleInput);
125
126BOOL WIN32API FreeConsole (VOID);
127
128BOOL WIN32API GenerateConsoleCtrlEvent (DWORD dwCtrlEvent,
129 DWORD dwProcessGroupId);
130
131UINT WIN32API GetConsoleCP (VOID);
132
133BOOL WIN32API GetConsoleCursorInfo (HANDLE hConsoleOutput,
134 PCONSOLE_CURSOR_INFO lpConsoleCursorInfo);
135
136BOOL WIN32API GetConsoleMode (HANDLE hConsole,
137 LPDWORD lpMode);
138
139UINT WIN32API GetConsoleOutputCP (VOID);
140
141BOOL WIN32API GetConsoleScreenBufferInfo (HANDLE hConsoleOutput,
142 PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
143
144DWORD WIN32API GetConsoleTitleA (LPTSTR lpConsoleTitle,
145 DWORD nSize);
146
147DWORD WIN32API GetConsoleTitleW (LPTSTR lpConsoleTitle,
148 DWORD nSize);
149
150COORD WIN32API GetLargestConsoleWindowSize (HANDLE hConsoleOutput);
151
152BOOL WIN32API GetNumberOfConsoleInputEvents (HANDLE hConsoleInput,
153 LPDWORD lpNumberOfEvents);
154
155BOOL WIN32API GetNumberOfConsoleMouseButtons(LPDWORD lpcNumberOfMouseButtons);
156
157BOOL WIN32API PeekConsoleInputA (HANDLE hConsoleInput,
158 PINPUT_RECORD pirBuffer,
159 DWORD cInRecords,
160 LPDWORD lpcRead);
161
162BOOL WIN32API PeekConsoleInputW (HANDLE hConsoleInput,
163 PINPUT_RECORD pirBuffer,
164 DWORD cInRecords,
165 LPDWORD lpcRead);
166
167BOOL WIN32API ReadConsoleA (HANDLE hConsoleInput,
168 LPVOID lpvBuffer,
169 DWORD cchToRead,
170 LPDWORD lpcchRead,
171 LPVOID lpvReserved);
172
173BOOL WIN32API ReadConsoleInputA (HANDLE hConsoleInput,
174 PINPUT_RECORD pirBuffer,
175 DWORD cInRecords,
176 LPDWORD lpcRead);
177
178BOOL WIN32API ReadConsoleInputW (HANDLE hConsoleInput,
179 PINPUT_RECORD pirBuffer,
180 DWORD cInRecords,
181 LPDWORD lpcRead);
182
183BOOL WIN32API ReadConsoleOutputA (HANDLE hConsoleOutput,
184 PCHAR_INFO pchiDestBuffer,
185 COORD coordDestBufferSize,
186 COORD coordDestBufferCoord,
187 PSMALL_RECT psrctSourceRect);
188
189BOOL WIN32API ReadConsoleOutputW (HANDLE hConsoleOutput,
190 PCHAR_INFO pchiDestBuffer,
191 COORD coordDestBufferSize,
192 COORD coordDestBufferCoord,
193 PSMALL_RECT psrctSourceRect);
194
195BOOL WIN32API ReadConsoleOutputAttribute (HANDLE hConsoleOutput,
196 LPWORD lpwAttribute,
197 DWORD cReadCells,
198 COORD coordReadCoord,
199 LPDWORD lpcNumberRead);
200
201BOOL WIN32API ReadConsoleOutputCharacter (HANDLE hConsoleOutput,
202 LPTSTR lpReadBuffer,
203 DWORD cchRead,
204 COORD coordReadCoord,
205 LPDWORD lpcNumberRead);
206
207BOOL WIN32API ScrollConsoleScreenBufferA (HANDLE hConsoleOutput,
208 PSMALL_RECT psrctSourceRect,
209 PSMALL_RECT psrctClipRect,
210 COORD coordDestOrigin,
211 PCHAR_INFO pchiFill);
212
213BOOL WIN32API ScrollConsoleScreenBufferW (HANDLE hConsoleOutput,
214 PSMALL_RECT psrctSourceRect,
215 PSMALL_RECT psrctClipRect,
216 COORD coordDestOrigin,
217 PCHAR_INFO pchiFill);
218
219BOOL WIN32API SetConsoleActiveScreenBuffer (HANDLE hConsoleOutput);
220
221BOOL WIN32API SetConsoleCP (UINT IDCodePage);
222
223BOOL WIN32API SetConsoleCtrlHandler (PHANDLER_ROUTINE pHandlerRoutine,
224 BOOL fAdd);
225
226BOOL WIN32API SetConsoleCursorInfo (HANDLE hConsoleOutput,
227 PCONSOLE_CURSOR_INFO lpConsoleCursorInfo);
228
229BOOL WIN32API SetConsoleCursorPosition (HANDLE hConsoleOutput,
230 COORD coordCursor);
231
232BOOL WIN32API SetConsoleMode (HANDLE hConsole,
233 DWORD fdwMode);
234
235BOOL WIN32API SetConsoleOutputCP (UINT IDCodePage);
236
237BOOL WIN32API SetConsoleScreenBufferSize (HANDLE hConsoleOutput,
238 COORD coordSize);
239
240BOOL WIN32API SetConsoleTextAttribute (HANDLE hConsoleOutput,
241 WORD wAttr);
242
243BOOL WIN32API SetConsoleTitleA (LPTSTR lpszTitle);
244
245BOOL WIN32API SetConsoleTitleW (LPTSTR lpszTitle);
246
247BOOL WIN32API SetConsoleWindowInfo (HANDLE hConsoleOutput,
248 BOOL fAbsolute,
249 PSMALL_RECT psrctWindowRect);
250
251BOOL WIN32API WriteConsoleA (HANDLE hConsoleOutput,
252 CONST VOID* lpvBuffer,
253 DWORD cchToWrite,
254 LPDWORD lpcchWritten,
255 LPVOID lpvReserved);
256
257BOOL WIN32API WriteConsoleInputA (HANDLE hConsoleInput,
258 PINPUT_RECORD pirBuffer,
259 DWORD cInRecords,
260 LPDWORD lpcWritten);
261
262BOOL WIN32API WriteConsoleInputW (HANDLE hConsoleInput,
263 PINPUT_RECORD pirBuffer,
264 DWORD cInRecords,
265 LPDWORD lpcWritten);
266
267BOOL WIN32API WriteConsoleOutputA (HANDLE hConsoleOutput,
268 PCHAR_INFO pchiSrcBuffer,
269 COORD coordSrcBufferSize,
270 COORD coordSrcBufferCoord,
271 PSMALL_RECT psrctDestRect);
272
273BOOL WIN32API WriteConsoleOutputW (HANDLE hConsoleOutput,
274 PCHAR_INFO pchiSrcBuffer,
275 COORD coordSrcBufferSize,
276 COORD coordSrcBufferCoord,
277 PSMALL_RECT psrctDestRect);
278
279BOOL WIN32API WriteConsoleOutputAttribute (HANDLE hConsoleOutput,
280 LPWORD lpwAttribute,
281 DWORD cWriteCells,
282 COORD coordWriteCoord,
283 LPDWORD lpcNumberWritten);
284
285BOOL WIN32API WriteConsoleOutputCharacterA (HANDLE hConsoleOutput,
286 LPTSTR lpWriteBuffer,
287 DWORD cchWrite,
288 COORD coordWriteCoord,
289 LPDWORD lpcWritten);
290
291BOOL WIN32API WriteConsoleOutputCharacterW (HANDLE hConsoleOutput,
292 LPTSTR lpWriteBuffer,
293 DWORD cchWrite,
294 COORD coordWriteCoord,
295 LPDWORD lpcWritten);
296
297
298#endif // _OS2WIN_H
299
300
301#ifdef __cplusplus
302}
303#endif
304
305
306/*****************************************************************************
307 * Forwarders *
308 *****************************************************************************/
309
310#ifdef __cplusplus
311
312/*****************************************************************************
313 * Win32 Console Subsystem Pseudo-Devices *
314 *****************************************************************************/
315
316
317/*****************************************************************************
318 * ConsoleInput - manages a queue of window events fro keyboard, mouse, etc. *
319 *****************************************************************************/
320
321class HMDeviceConsoleInClass : public HMDeviceHandler
322{
323 protected:
324 /* input queue */
325 DWORD dwNumberOfInputEvents; /* number of unread events in input queue */
326
327 public:
328 HMDeviceConsoleInClass(LPCSTR lpDeviceName)
329 : HMDeviceHandler(lpDeviceName) {}
330
331 /* this is a handler method for calls to CreateFile() */
332 virtual DWORD CreateFile (LPCSTR lpFileName,
333 PHMHANDLEDATA pHMHandleData,
334 PVOID lpSecurityAttributes,
335 PHMHANDLEDATA pHMHandleDataTemplate);
336
337 /* this is a handler method for calls to ReadFile() */
338 virtual DWORD ReadFile (PHMHANDLEDATA pHMHandleData,
339 LPCVOID lpBuffer,
340 DWORD nNumberOfBytesToRead,
341 LPDWORD lpNumberOfBytesRead,
342 LPOVERLAPPED lpOverlapped);
343
344 /* this is a handler method for calls to WriteFile() */
345 virtual DWORD WriteFile (PHMHANDLEDATA pHMHandleData,
346 LPCVOID lpBuffer,
347 DWORD nNumberOfBytesToWrite,
348 LPDWORD lpNumberOfBytesWritten,
349 LPOVERLAPPED lpOverlapped);
350
351 virtual DWORD _DeviceRequest (PHMHANDLEDATA pHMHandleData,
352 ULONG ulRequestCode,
353 ULONG arg1,
354 ULONG arg2,
355 ULONG arg3,
356 ULONG arg4);
357
358 /************************************
359 * non-standard console I/O methods *
360 ************************************/
361
362 virtual BOOL FlushConsoleInputBuffer(PHMHANDLEDATA pHMHandleData);
363
364 virtual DWORD GetConsoleMode(PHMHANDLEDATA pHMHandleData,
365 LPDWORD lpMode);
366
367 virtual BOOL GetNumberOfConsoleInputEvents(PHMHANDLEDATA pHMHandleData,
368 LPDWORD lpNumberOfEvents);
369
370 virtual DWORD PeekConsoleInputA(PHMHANDLEDATA pHMHandleData,
371 PINPUT_RECORD pirBuffer,
372 DWORD cInRecords,
373 LPDWORD lpcRead);
374
375 virtual DWORD PeekConsoleInputW(PHMHANDLEDATA pHMHandleData,
376 PINPUT_RECORD pirBuffer,
377 DWORD cInRecords,
378 LPDWORD lpcRead);
379
380 virtual DWORD ReadConsoleA(PHMHANDLEDATA pHMHandleData,
381 CONST VOID* lpvBuffer,
382 DWORD cchToRead,
383 LPDWORD lpcchRead,
384 LPVOID lpvReserved);
385
386 virtual DWORD ReadConsoleW(PHMHANDLEDATA pHMHandleData,
387 CONST VOID* lpvBuffer,
388 DWORD cchToRead,
389 LPDWORD lpcchRead,
390 LPVOID lpvReserved);
391
392 virtual DWORD ReadConsoleInputA(PHMHANDLEDATA pHMHandleData,
393 PINPUT_RECORD pirBuffer,
394 DWORD cInRecords,
395 LPDWORD lpcRead);
396
397 virtual DWORD ReadConsoleInputW(PHMHANDLEDATA pHMHandleData,
398 PINPUT_RECORD pirBuffer,
399 DWORD cInRecords,
400 LPDWORD lpcRead);
401
402 virtual DWORD SetConsoleMode(PHMHANDLEDATA pHMHandleData,
403 DWORD dwMode);
404
405 virtual DWORD WriteConsoleInputA (PHMHANDLEDATA pHMHandleData,
406 PINPUT_RECORD pirBuffer,
407 DWORD cInRecords,
408 LPDWORD lpcWritten);
409
410 virtual DWORD WriteConsoleInputW (PHMHANDLEDATA pHMHandleData,
411 PINPUT_RECORD pirBuffer,
412 DWORD cInRecords,
413 LPDWORD lpcWritten);
414
415};
416
417
418/*****************************************************************************
419 * ConsoleOutput - redirects requests to the currently active buffer *
420 *****************************************************************************/
421
422class HMDeviceConsoleOutClass : public HMDeviceHandler
423{
424 protected:
425 HANDLE hConsoleBuffer; /* handle to the active console buffer */
426
427 public:
428 HMDeviceConsoleOutClass(LPCSTR lpDeviceName)
429 : HMDeviceHandler(lpDeviceName) {}
430
431 /* this is a handler method for calls to CreateFile() */
432 virtual DWORD CreateFile (LPCSTR lpFileName,
433 PHMHANDLEDATA pHMHandleData,
434 PVOID lpSecurityAttributes,
435 PHMHANDLEDATA pHMHandleDataTemplate);
436
437 /* this is a handler method for calls to ReadFile() */
438 virtual DWORD ReadFile (PHMHANDLEDATA pHMHandleData,
439 LPCVOID lpBuffer,
440 DWORD nNumberOfBytesToRead,
441 LPDWORD lpNumberOfBytesRead,
442 LPOVERLAPPED lpOverlapped);
443
444 /* this is a handler method for calls to WriteFile() */
445 virtual DWORD WriteFile (PHMHANDLEDATA pHMHandleData,
446 LPCVOID lpBuffer,
447 DWORD nNumberOfBytesToWrite,
448 LPDWORD lpNumberOfBytesWritten,
449 LPOVERLAPPED lpOverlapped);
450
451
452 /* handling non-standard I/O */
453 virtual DWORD _DeviceRequest (PHMHANDLEDATA pHMHandleData,
454 ULONG ulRequestCode,
455 ULONG arg1,
456 ULONG arg2,
457 ULONG arg3,
458 ULONG arg4);
459};
460
461
462/*****************************************************************************
463 * ConsoleBuffer - does all the writing to an internal line buffer array *
464 * if this buffer is the active one, also does a screen updt *
465 *****************************************************************************/
466
467class HMDeviceConsoleBufferClass : public HMDeviceHandler
468{
469 public:
470 HMDeviceConsoleBufferClass(LPCSTR lpDeviceName)
471 : HMDeviceHandler(lpDeviceName) {}
472
473 /* this is a handler method for calls to CreateFile() */
474 virtual DWORD CreateFile (LPCSTR lpFileName,
475 PHMHANDLEDATA pHMHandleData,
476 PVOID lpSecurityAttributes,
477 PHMHANDLEDATA pHMHandleDataTemplate);
478
479 /* this is a handler method for calls to ReadFile() */
480 virtual DWORD ReadFile (PHMHANDLEDATA pHMHandleData,
481 LPCVOID lpBuffer,
482 DWORD nNumberOfBytesToRead,
483 LPDWORD lpNumberOfBytesRead,
484 LPOVERLAPPED lpOverlapped);
485
486 /* this is a handler method for calls to WriteFile() */
487 virtual DWORD WriteFile (PHMHANDLEDATA pHMHandleData,
488 LPCVOID lpBuffer,
489 DWORD nNumberOfBytesToWrite,
490 LPDWORD lpNumberOfBytesWritten,
491 LPOVERLAPPED lpOverlapped);
492
493 virtual DWORD CloseHandle(PHMHANDLEDATA pHMHandleData);
494
495 virtual DWORD _DeviceRequest (PHMHANDLEDATA pHMHandleData,
496 ULONG ulRequestCode,
497 ULONG arg1,
498 ULONG arg2,
499 ULONG arg3,
500 ULONG arg4);
501
502
503 /************************************
504 * non-standard console I/O methods *
505 ************************************/
506
507 virtual DWORD FillConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
508 WORD wAttribute,
509 DWORD nLength,
510 COORD dwWriteCoord,
511 LPDWORD lpNumberOfAttrsWritten);
512
513 virtual DWORD FillConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
514 UCHAR ucCharacter,
515 DWORD nLength,
516 COORD dwWriteCoord,
517 LPDWORD lpNumberOfCharsWritten);
518
519 virtual DWORD FillConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
520 WCHAR wcCharacter,
521 DWORD nLength,
522 COORD dwWriteCoord,
523 LPDWORD lpNumberOfCharsWritten);
524
525 virtual DWORD GetConsoleCursorInfo(PHMHANDLEDATA pHMHandleData,
526 PCONSOLE_CURSOR_INFO pCCI);
527
528 virtual DWORD GetConsoleMode(PHMHANDLEDATA pHMHandleData,
529 LPDWORD lpMode);
530
531 virtual DWORD GetLargestConsoleWindowSize(PHMHANDLEDATA pHMHandleData);
532
533 virtual DWORD GetConsoleScreenBufferInfo(PHMHANDLEDATA pHMHandleData,
534 PCONSOLE_SCREEN_BUFFER_INFO pCSBI);
535
536 virtual DWORD ReadConsoleOutputA(PHMHANDLEDATA pHMHandleData,
537 PCHAR_INFO pchiDestBuffer,
538 COORD coordDestBufferSize,
539 COORD coordDestBufferCoord,
540 PSMALL_RECT psrctSourceRect);
541
542 virtual DWORD ReadConsoleOutputW(PHMHANDLEDATA pHMHandleData,
543 PCHAR_INFO pchiDestBuffer,
544 COORD coordDestBufferSize,
545 COORD coordDestBufferCoord,
546 PSMALL_RECT psrctSourceRect);
547
548 virtual DWORD ReadConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
549 LPWORD lpwAttribute,
550 DWORD cReadCells,
551 COORD dwReadCoord,
552 LPDWORD lpcNumberRead);
553
554 virtual DWORD ReadConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
555 LPTSTR lpwReadBuffer,
556 DWORD cchRead,
557 COORD coordReadCoord,
558 LPDWORD lpcNumberRead);
559
560 virtual DWORD ReadConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
561 LPWSTR lpwReadBuffer,
562 DWORD cchRead,
563 COORD coordReadCoord,
564 LPDWORD lpcNumberRead);
565
566 virtual DWORD ScrollConsoleScreenBufferA(PHMHANDLEDATA pHMHandleData,
567 PSMALL_RECT psrctSourceRect,
568 PSMALL_RECT psrctClipRect,
569 COORD coordDestOrigin,
570 PCHAR_INFO pchiFill);
571
572 virtual DWORD ScrollConsoleScreenBufferW(PHMHANDLEDATA pHMHandleData,
573 PSMALL_RECT psrctSourceRect,
574 PSMALL_RECT psrctClipRect,
575 COORD coordDestOrigin,
576 PCHAR_INFO pchiFill);
577
578 virtual DWORD SetConsoleScreenBufferSize (PHMHANDLEDATA pHMHandleData,
579 COORD coordSize);
580
581 virtual DWORD SetConsoleCursorInfo(PHMHANDLEDATA pHMHandleData,
582 PCONSOLE_CURSOR_INFO pCCI);
583
584 virtual DWORD SetConsoleCursorPosition(PHMHANDLEDATA pHMHandleData,
585 COORD coordCursorPosition);
586
587 virtual DWORD SetConsoleMode(PHMHANDLEDATA pHMHandleData,
588 DWORD dwMode);
589
590 virtual DWORD SetConsoleTextAttribute (PHMHANDLEDATA pHMHandleData,
591 WORD wAttr);
592
593 virtual DWORD SetConsoleActiveScreenBuffer(PHMHANDLEDATA pHMHandleData);
594
595 virtual BOOL SetConsoleWindowInfo(PHMHANDLEDATA pHMHandleData,
596 BOOL fAbsolute,
597 PSMALL_RECT psrctWindowRect);
598
599 virtual DWORD WriteConsoleA(PHMHANDLEDATA pHMHandleData,
600 CONST VOID* lpvBuffer,
601 DWORD cchToWrite,
602 LPDWORD lpcchWritten,
603 LPVOID lpvReserved);
604
605 virtual DWORD WriteConsoleW(PHMHANDLEDATA pHMHandleData,
606 CONST VOID* lpvBuffer,
607 DWORD cchToWrite,
608 LPDWORD lpcchWritten,
609 LPVOID lpvReserved);
610
611 virtual DWORD WriteConsoleOutputA(PHMHANDLEDATA pHMHandleData,
612 PCHAR_INFO pchiSrcBuffer,
613 COORD coordSrcBufferSize,
614 COORD coordSrcBufferCoord,
615 PSMALL_RECT psrctDestRect);
616
617 virtual DWORD WriteConsoleOutputW(PHMHANDLEDATA pHMHandleData,
618 PCHAR_INFO pchiSrcBuffer,
619 COORD coordSrcBufferSize,
620 COORD coordSrcBufferCoord,
621 PSMALL_RECT psrctDestRect);
622
623 virtual DWORD WriteConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
624 LPWORD lpwAttribute,
625 DWORD cWriteCells,
626 COORD dwWriteCoord,
627 LPDWORD lpcWritten);
628
629 virtual DWORD WriteConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
630 LPTSTR lpWriteBuffer,
631 DWORD cchWrite,
632 COORD dwWriteCoord,
633 LPDWORD lpcWritten);
634
635 virtual DWORD WriteConsoleOutputCharacterW(PHMHANDLEDATA pHMHandleData,
636 LPWSTR lpWriteBuffer,
637 DWORD cchWrite,
638 COORD dwWriteCoord,
639 LPDWORD lpcWritten);
640};
641
642#endif
643
644
645#endif /* _CONSOLESUBSYSTEM_H_ */
Note: See TracBrowser for help on using the repository browser.