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

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

Console property update

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