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

Last change on this file since 99 was 99, checked in by phaller, 26 years ago

Add: added cvs variable $Id$ to source files.

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