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

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

Code cleanup #1 for build, mainly addresses linkage problems

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