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

Last change on this file since 4 was 4, checked in by ktk, 26 years ago

Import

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