home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bc45 / geninc32.pak / WINCON.H < prev    next >
C/C++ Source or Header  |  1997-07-23  |  15KB  |  731 lines

  1. /*++ BUILD Version: 0002    // Increment this if a change has global effects
  2.  
  3. Copyright (c) 1989-1995  Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     wincon.h
  8.  
  9. Abstract:
  10.  
  11.     This module contains the public data structures, data types,
  12.     and procedures exported by the NT console subsystem.
  13.  
  14. Created:
  15.  
  16.     26-Oct-1990
  17.  
  18. Revision History:
  19.  
  20. --*/
  21.  
  22. #ifndef _WINCON_
  23. #define _WINCON_
  24.  
  25. #include <pshpack4.h>
  26.  
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30.  
  31. typedef struct _COORD {
  32.     SHORT X;
  33.     SHORT Y;
  34. } COORD, *PCOORD;
  35.  
  36. typedef struct _SMALL_RECT {
  37.     SHORT Left;
  38.     SHORT Top;
  39.     SHORT Right;
  40.     SHORT Bottom;
  41. } SMALL_RECT, *PSMALL_RECT;
  42.  
  43. typedef struct _KEY_EVENT_RECORD {
  44.     BOOL bKeyDown;
  45.     WORD wRepeatCount;
  46.     WORD wVirtualKeyCode;
  47.     WORD wVirtualScanCode;
  48.     union {
  49.         WCHAR UnicodeChar;
  50.         CHAR   AsciiChar;
  51.     } uChar;
  52.     DWORD dwControlKeyState;
  53. } KEY_EVENT_RECORD, *PKEY_EVENT_RECORD;
  54.  
  55. //
  56. // ControlKeyState flags
  57. //
  58.  
  59. #define RIGHT_ALT_PRESSED     0x0001 // the right alt key is pressed.
  60. #define LEFT_ALT_PRESSED      0x0002 // the left alt key is pressed.
  61. #define RIGHT_CTRL_PRESSED    0x0004 // the right ctrl key is pressed.
  62. #define LEFT_CTRL_PRESSED     0x0008 // the left ctrl key is pressed.
  63. #define SHIFT_PRESSED         0x0010 // the shift key is pressed.
  64. #define NUMLOCK_ON            0x0020 // the numlock light is on.
  65. #define SCROLLLOCK_ON         0x0040 // the scrolllock light is on.
  66. #define CAPSLOCK_ON           0x0080 // the capslock light is on.
  67. #define ENHANCED_KEY          0x0100 // the key is enhanced.
  68.  
  69. typedef struct _MOUSE_EVENT_RECORD {
  70.     COORD dwMousePosition;
  71.     DWORD dwButtonState;
  72.     DWORD dwControlKeyState;
  73.     DWORD dwEventFlags;
  74. } MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD;
  75.  
  76. //
  77. // ButtonState flags
  78. //
  79.  
  80. #define FROM_LEFT_1ST_BUTTON_PRESSED    0x0001
  81. #define RIGHTMOST_BUTTON_PRESSED        0x0002
  82. #define FROM_LEFT_2ND_BUTTON_PRESSED    0x0004
  83. #define FROM_LEFT_3RD_BUTTON_PRESSED    0x0008
  84. #define FROM_LEFT_4TH_BUTTON_PRESSED    0x0010
  85.  
  86. //
  87. // EventFlags
  88. //
  89.  
  90. #define MOUSE_MOVED   0x0001
  91. #define DOUBLE_CLICK  0x0002
  92.  
  93. typedef struct _WINDOW_BUFFER_SIZE_RECORD {
  94.     COORD dwSize;
  95. } WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD;
  96.  
  97. typedef struct _MENU_EVENT_RECORD {
  98.     UINT dwCommandId;
  99. } MENU_EVENT_RECORD, *PMENU_EVENT_RECORD;
  100.  
  101. typedef struct _FOCUS_EVENT_RECORD {
  102.     BOOL bSetFocus;
  103. } FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD;
  104.  
  105. typedef struct _INPUT_RECORD {
  106.     WORD EventType;
  107.     union {
  108.         KEY_EVENT_RECORD KeyEvent;
  109.         MOUSE_EVENT_RECORD MouseEvent;
  110.         WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
  111.         MENU_EVENT_RECORD MenuEvent;
  112.         FOCUS_EVENT_RECORD FocusEvent;
  113.     } Event;
  114. } INPUT_RECORD, *PINPUT_RECORD;
  115.  
  116. //
  117. //  EventType flags:
  118. //
  119.  
  120. #define KEY_EVENT         0x0001 // Event contains key event record
  121. #define MOUSE_EVENT       0x0002 // Event contains mouse event record
  122. #define WINDOW_BUFFER_SIZE_EVENT 0x0004 // Event contains window change event record
  123. #define MENU_EVENT 0x0008 // Event contains menu event record
  124. #define FOCUS_EVENT 0x0010 // event contains focus change
  125.  
  126. typedef struct _CHAR_INFO {
  127.     union {
  128.         WCHAR UnicodeChar;
  129.         CHAR   AsciiChar;
  130.     } Char;
  131.     WORD Attributes;
  132. } CHAR_INFO, *PCHAR_INFO;
  133.  
  134. //
  135. // Attributes flags:
  136. //
  137.  
  138. #define FOREGROUND_BLUE      0x0001 // text color contains blue.
  139. #define FOREGROUND_GREEN     0x0002 // text color contains green.
  140. #define FOREGROUND_RED       0x0004 // text color contains red.
  141. #define FOREGROUND_INTENSITY 0x0008 // text color is intensified.
  142. #define BACKGROUND_BLUE      0x0010 // background color contains blue.
  143. #define BACKGROUND_GREEN     0x0020 // background color contains green.
  144. #define BACKGROUND_RED       0x0040 // background color contains red.
  145. #define BACKGROUND_INTENSITY 0x0080 // background color is intensified.
  146.  
  147.  
  148. typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
  149.     COORD dwSize;
  150.     COORD dwCursorPosition;
  151.     WORD  wAttributes;
  152.     SMALL_RECT srWindow;
  153.     COORD dwMaximumWindowSize;
  154. } CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO;
  155.  
  156. typedef struct _CONSOLE_CURSOR_INFO {
  157.     DWORD  dwSize;
  158.     BOOL   bVisible;
  159. } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
  160.  
  161. //
  162. // typedef for ctrl-c handler routines
  163. //
  164.  
  165. typedef
  166. BOOL
  167. (WINAPI *PHANDLER_ROUTINE)(
  168.     DWORD CtrlType
  169.     );
  170.  
  171. #define CTRL_C_EVENT        0
  172. #define CTRL_BREAK_EVENT    1
  173. #define CTRL_CLOSE_EVENT    2
  174. // 3 is reserved!
  175. // 4 is reserved!
  176. #define CTRL_LOGOFF_EVENT   5
  177. #define CTRL_SHUTDOWN_EVENT 6
  178.  
  179. //
  180. //  Input Mode flags:
  181. //
  182.  
  183. #define ENABLE_PROCESSED_INPUT 0x0001
  184. #define ENABLE_LINE_INPUT      0x0002
  185. #define ENABLE_ECHO_INPUT      0x0004
  186. #define ENABLE_WINDOW_INPUT    0x0008
  187. #define ENABLE_MOUSE_INPUT     0x0010
  188.  
  189. //
  190. // Output Mode flags:
  191. //
  192.  
  193. #define ENABLE_PROCESSED_OUTPUT    0x0001
  194. #define ENABLE_WRAP_AT_EOL_OUTPUT  0x0002
  195.  
  196. //
  197. // direct API definitions.
  198. //
  199.  
  200. WINBASEAPI
  201. BOOL
  202. WINAPI
  203. PeekConsoleInputA(
  204.     HANDLE hConsoleInput,
  205.     PINPUT_RECORD lpBuffer,
  206.     DWORD nLength,
  207.     LPDWORD lpNumberOfEventsRead
  208.     );
  209. WINBASEAPI
  210. BOOL
  211. WINAPI
  212. PeekConsoleInputW(
  213.     HANDLE hConsoleInput,
  214.     PINPUT_RECORD lpBuffer,
  215.     DWORD nLength,
  216.     LPDWORD lpNumberOfEventsRead
  217.     );
  218. #ifdef UNICODE
  219. #define PeekConsoleInput  PeekConsoleInputW
  220. #else
  221. #define PeekConsoleInput  PeekConsoleInputA
  222. #endif // !UNICODE
  223.  
  224. WINBASEAPI
  225. BOOL
  226. WINAPI
  227. ReadConsoleInputA(
  228.     HANDLE hConsoleInput,
  229.     PINPUT_RECORD lpBuffer,
  230.     DWORD nLength,
  231.     LPDWORD lpNumberOfEventsRead
  232.     );
  233. WINBASEAPI
  234. BOOL
  235. WINAPI
  236. ReadConsoleInputW(
  237.     HANDLE hConsoleInput,
  238.     PINPUT_RECORD lpBuffer,
  239.     DWORD nLength,
  240.     LPDWORD lpNumberOfEventsRead
  241.     );
  242. #ifdef UNICODE
  243. #define ReadConsoleInput  ReadConsoleInputW
  244. #else
  245. #define ReadConsoleInput  ReadConsoleInputA
  246. #endif // !UNICODE
  247.  
  248. WINBASEAPI
  249. BOOL
  250. WINAPI
  251. WriteConsoleInputA(
  252.     HANDLE hConsoleInput,
  253.     CONST INPUT_RECORD *lpBuffer,
  254.     DWORD nLength,
  255.     LPDWORD lpNumberOfEventsWritten
  256.     );
  257. WINBASEAPI
  258. BOOL
  259. WINAPI
  260. WriteConsoleInputW(
  261.     HANDLE hConsoleInput,
  262.     CONST INPUT_RECORD *lpBuffer,
  263.     DWORD nLength,
  264.     LPDWORD lpNumberOfEventsWritten
  265.     );
  266. #ifdef UNICODE
  267. #define WriteConsoleInput  WriteConsoleInputW
  268. #else
  269. #define WriteConsoleInput  WriteConsoleInputA
  270. #endif // !UNICODE
  271.  
  272. WINBASEAPI
  273. BOOL
  274. WINAPI
  275. ReadConsoleOutputA(
  276.     HANDLE hConsoleOutput,
  277.     PCHAR_INFO lpBuffer,
  278.     COORD dwBufferSize,
  279.     COORD dwBufferCoord,
  280.     PSMALL_RECT lpReadRegion
  281.     );
  282. WINBASEAPI
  283. BOOL
  284. WINAPI
  285. ReadConsoleOutputW(
  286.     HANDLE hConsoleOutput,
  287.     PCHAR_INFO lpBuffer,
  288.     COORD dwBufferSize,
  289.     COORD dwBufferCoord,
  290.     PSMALL_RECT lpReadRegion
  291.     );
  292. #ifdef UNICODE
  293. #define ReadConsoleOutput  ReadConsoleOutputW
  294. #else
  295. #define ReadConsoleOutput  ReadConsoleOutputA
  296. #endif // !UNICODE
  297.  
  298. WINBASEAPI
  299. BOOL
  300. WINAPI
  301. WriteConsoleOutputA(
  302.     HANDLE hConsoleOutput,
  303.     CONST CHAR_INFO *lpBuffer,
  304.     COORD dwBufferSize,
  305.     COORD dwBufferCoord,
  306.     PSMALL_RECT lpWriteRegion
  307.     );
  308. WINBASEAPI
  309. BOOL
  310. WINAPI
  311. WriteConsoleOutputW(
  312.     HANDLE hConsoleOutput,
  313.     CONST CHAR_INFO *lpBuffer,
  314.     COORD dwBufferSize,
  315.     COORD dwBufferCoord,
  316.     PSMALL_RECT lpWriteRegion
  317.     );
  318. #ifdef UNICODE
  319. #define WriteConsoleOutput  WriteConsoleOutputW
  320. #else
  321. #define WriteConsoleOutput  WriteConsoleOutputA
  322. #endif // !UNICODE
  323.  
  324. WINBASEAPI
  325. BOOL
  326. WINAPI
  327. ReadConsoleOutputCharacterA(
  328.     HANDLE hConsoleOutput,
  329.     LPSTR lpCharacter,
  330.     DWORD nLength,
  331.     COORD dwReadCoord,
  332.     LPDWORD lpNumberOfCharsRead
  333.     );
  334. WINBASEAPI
  335. BOOL
  336. WINAPI
  337. ReadConsoleOutputCharacterW(
  338.     HANDLE hConsoleOutput,
  339.     LPWSTR lpCharacter,
  340.     DWORD nLength,
  341.     COORD dwReadCoord,
  342.     LPDWORD lpNumberOfCharsRead
  343.     );
  344. #ifdef UNICODE
  345. #define ReadConsoleOutputCharacter  ReadConsoleOutputCharacterW
  346. #else
  347. #define ReadConsoleOutputCharacter  ReadConsoleOutputCharacterA
  348. #endif // !UNICODE
  349.  
  350. WINBASEAPI
  351. BOOL
  352. WINAPI
  353. ReadConsoleOutputAttribute(
  354.     HANDLE hConsoleOutput,
  355.     LPWORD lpAttribute,
  356.     DWORD nLength,
  357.     COORD dwReadCoord,
  358.     LPDWORD lpNumberOfAttrsRead
  359.     );
  360.  
  361. WINBASEAPI
  362. BOOL
  363. WINAPI
  364. WriteConsoleOutputCharacterA(
  365.     HANDLE hConsoleOutput,
  366.     LPCSTR lpCharacter,
  367.     DWORD nLength,
  368.     COORD dwWriteCoord,
  369.     LPDWORD lpNumberOfCharsWritten
  370.     );
  371. WINBASEAPI
  372. BOOL
  373. WINAPI
  374. WriteConsoleOutputCharacterW(
  375.     HANDLE hConsoleOutput,
  376.     LPCWSTR lpCharacter,
  377.     DWORD nLength,
  378.     COORD dwWriteCoord,
  379.     LPDWORD lpNumberOfCharsWritten
  380.     );
  381. #ifdef UNICODE
  382. #define WriteConsoleOutputCharacter  WriteConsoleOutputCharacterW
  383. #else
  384. #define WriteConsoleOutputCharacter  WriteConsoleOutputCharacterA
  385. #endif // !UNICODE
  386.  
  387. WINBASEAPI
  388. BOOL
  389. WINAPI
  390. WriteConsoleOutputAttribute(
  391.     HANDLE hConsoleOutput,
  392.     CONST WORD *lpAttribute,
  393.     DWORD nLength,
  394.     COORD dwWriteCoord,
  395.     LPDWORD lpNumberOfAttrsWritten
  396.     );
  397.  
  398. WINBASEAPI
  399. BOOL
  400. WINAPI
  401. FillConsoleOutputCharacterA(
  402.     HANDLE hConsoleOutput,
  403.     CHAR  cCharacter,
  404.     DWORD  nLength,
  405.     COORD  dwWriteCoord,
  406.     LPDWORD lpNumberOfCharsWritten
  407.     );
  408. WINBASEAPI
  409. BOOL
  410. WINAPI
  411. FillConsoleOutputCharacterW(
  412.     HANDLE hConsoleOutput,
  413.     WCHAR  cCharacter,
  414.     DWORD  nLength,
  415.     COORD  dwWriteCoord,
  416.     LPDWORD lpNumberOfCharsWritten
  417.     );
  418. #ifdef UNICODE
  419. #define FillConsoleOutputCharacter  FillConsoleOutputCharacterW
  420. #else
  421. #define FillConsoleOutputCharacter  FillConsoleOutputCharacterA
  422. #endif // !UNICODE
  423.  
  424. WINBASEAPI
  425. BOOL
  426. WINAPI
  427. FillConsoleOutputAttribute(
  428.     HANDLE hConsoleOutput,
  429.     WORD   wAttribute,
  430.     DWORD  nLength,
  431.     COORD  dwWriteCoord,
  432.     LPDWORD lpNumberOfAttrsWritten
  433.     );
  434.  
  435. WINBASEAPI
  436. BOOL
  437. WINAPI
  438. GetConsoleMode(
  439.     HANDLE hConsoleHandle,
  440.     LPDWORD lpMode
  441.     );
  442.  
  443. WINBASEAPI
  444. BOOL
  445. WINAPI
  446. GetNumberOfConsoleInputEvents(
  447.     HANDLE hConsoleInput,
  448.     LPDWORD lpNumberOfEvents
  449.     );
  450.  
  451. WINBASEAPI
  452. BOOL
  453. WINAPI
  454. GetConsoleScreenBufferInfo(
  455.     HANDLE hConsoleOutput,
  456.     PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
  457.     );
  458.  
  459. WINBASEAPI
  460. COORD
  461. WINAPI
  462. GetLargestConsoleWindowSize(
  463.     HANDLE hConsoleOutput
  464.     );
  465.  
  466. WINBASEAPI
  467. BOOL
  468. WINAPI
  469. GetConsoleCursorInfo(
  470.     HANDLE hConsoleOutput,
  471.     PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
  472.     );
  473.  
  474. WINBASEAPI
  475. BOOL
  476. WINAPI
  477. GetNumberOfConsoleMouseButtons(
  478.     LPDWORD lpNumberOfMouseButtons
  479.     );
  480.  
  481. WINBASEAPI
  482. BOOL
  483. WINAPI
  484. SetConsoleMode(
  485.     HANDLE hConsoleHandle,
  486.     DWORD dwMode
  487.     );
  488.  
  489. WINBASEAPI
  490. BOOL
  491. WINAPI
  492. SetConsoleActiveScreenBuffer(
  493.     HANDLE hConsoleOutput
  494.     );
  495.  
  496. WINBASEAPI
  497. BOOL
  498. WINAPI
  499. FlushConsoleInputBuffer(
  500.     HANDLE hConsoleInput
  501.     );
  502.  
  503. WINBASEAPI
  504. BOOL
  505. WINAPI
  506. SetConsoleScreenBufferSize(
  507.     HANDLE hConsoleOutput,
  508.     COORD dwSize
  509.     );
  510.  
  511. WINBASEAPI
  512. BOOL
  513. WINAPI
  514. SetConsoleCursorPosition(
  515.     HANDLE hConsoleOutput,
  516.     COORD dwCursorPosition
  517.     );
  518.  
  519. WINBASEAPI
  520. BOOL
  521. WINAPI
  522. SetConsoleCursorInfo(
  523.     HANDLE hConsoleOutput,
  524.     CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo
  525.     );
  526.  
  527. WINBASEAPI
  528. BOOL
  529. WINAPI
  530. ScrollConsoleScreenBufferA(
  531.     HANDLE hConsoleOutput,
  532.     CONST SMALL_RECT *lpScrollRectangle,
  533.     CONST SMALL_RECT *lpClipRectangle,
  534.     COORD dwDestinationOrigin,
  535.     CONST CHAR_INFO *lpFill
  536.     );
  537. WINBASEAPI
  538. BOOL
  539. WINAPI
  540. ScrollConsoleScreenBufferW(
  541.     HANDLE hConsoleOutput,
  542.     CONST SMALL_RECT *lpScrollRectangle,
  543.     CONST SMALL_RECT *lpClipRectangle,
  544.     COORD dwDestinationOrigin,
  545.     CONST CHAR_INFO *lpFill
  546.     );
  547. #ifdef UNICODE
  548. #define ScrollConsoleScreenBuffer  ScrollConsoleScreenBufferW
  549. #else
  550. #define ScrollConsoleScreenBuffer  ScrollConsoleScreenBufferA
  551. #endif // !UNICODE
  552.  
  553. WINBASEAPI
  554. BOOL
  555. WINAPI
  556. SetConsoleWindowInfo(
  557.     HANDLE hConsoleOutput,
  558.     BOOL bAbsolute,
  559.     CONST SMALL_RECT *lpConsoleWindow
  560.     );
  561.  
  562. WINBASEAPI
  563. BOOL
  564. WINAPI
  565. SetConsoleTextAttribute(
  566.     HANDLE hConsoleOutput,
  567.     WORD wAttributes
  568.     );
  569.  
  570. WINBASEAPI
  571. BOOL
  572. WINAPI
  573. SetConsoleCtrlHandler(
  574.     PHANDLER_ROUTINE HandlerRoutine,
  575.     BOOL Add
  576.     );
  577.  
  578. WINBASEAPI
  579. BOOL
  580. WINAPI
  581. GenerateConsoleCtrlEvent(
  582.     DWORD dwCtrlEvent,
  583.     DWORD dwProcessGroupId
  584.     );
  585.  
  586. WINBASEAPI
  587. BOOL
  588. WINAPI
  589. AllocConsole( VOID );
  590.  
  591. WINBASEAPI
  592. BOOL
  593. WINAPI
  594. FreeConsole( VOID );
  595.  
  596.  
  597. WINBASEAPI
  598. DWORD
  599. WINAPI
  600. GetConsoleTitleA(
  601.     LPSTR lpConsoleTitle,
  602.     DWORD nSize
  603.     );
  604. WINBASEAPI
  605. DWORD
  606. WINAPI
  607. GetConsoleTitleW(
  608.     LPWSTR lpConsoleTitle,
  609.     DWORD nSize
  610.     );
  611. #ifdef UNICODE
  612. #define GetConsoleTitle  GetConsoleTitleW
  613. #else
  614. #define GetConsoleTitle  GetConsoleTitleA
  615. #endif // !UNICODE
  616.  
  617. WINBASEAPI
  618. BOOL
  619. WINAPI
  620. SetConsoleTitleA(
  621.     LPCSTR lpConsoleTitle
  622.     );
  623. WINBASEAPI
  624. BOOL
  625. WINAPI
  626. SetConsoleTitleW(
  627.     LPCWSTR lpConsoleTitle
  628.     );
  629. #ifdef UNICODE
  630. #define SetConsoleTitle  SetConsoleTitleW
  631. #else
  632. #define SetConsoleTitle  SetConsoleTitleA
  633. #endif // !UNICODE
  634.  
  635. WINBASEAPI
  636. BOOL
  637. WINAPI
  638. ReadConsoleA(
  639.     HANDLE hConsoleInput,
  640.     LPVOID lpBuffer,
  641.     DWORD nNumberOfCharsToRead,
  642.     LPDWORD lpNumberOfCharsRead,
  643.     LPVOID lpReserved
  644.     );
  645. WINBASEAPI
  646. BOOL
  647. WINAPI
  648. ReadConsoleW(
  649.     HANDLE hConsoleInput,
  650.     LPVOID lpBuffer,
  651.     DWORD nNumberOfCharsToRead,
  652.     LPDWORD lpNumberOfCharsRead,
  653.     LPVOID lpReserved
  654.     );
  655. #ifdef UNICODE
  656. #define ReadConsole  ReadConsoleW
  657. #else
  658. #define ReadConsole  ReadConsoleA
  659. #endif // !UNICODE
  660.  
  661. WINBASEAPI
  662. BOOL
  663. WINAPI
  664. WriteConsoleA(
  665.     HANDLE hConsoleOutput,
  666.     CONST VOID *lpBuffer,
  667.     DWORD nNumberOfCharsToWrite,
  668.     LPDWORD lpNumberOfCharsWritten,
  669.     LPVOID lpReserved
  670.     );
  671. WINBASEAPI
  672. BOOL
  673. WINAPI
  674. WriteConsoleW(
  675.     HANDLE hConsoleOutput,
  676.     CONST VOID *lpBuffer,
  677.     DWORD nNumberOfCharsToWrite,
  678.     LPDWORD lpNumberOfCharsWritten,
  679.     LPVOID lpReserved
  680.     );
  681. #ifdef UNICODE
  682. #define WriteConsole  WriteConsoleW
  683. #else
  684. #define WriteConsole  WriteConsoleA
  685. #endif // !UNICODE
  686.  
  687. #define CONSOLE_TEXTMODE_BUFFER  1
  688.  
  689. WINBASEAPI
  690. HANDLE
  691. WINAPI
  692. CreateConsoleScreenBuffer(
  693.     DWORD dwDesiredAccess,
  694.     DWORD dwShareMode,
  695.     CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,
  696.     DWORD dwFlags,
  697.     LPVOID lpScreenBufferData
  698.     );
  699.  
  700. WINBASEAPI
  701. UINT
  702. WINAPI
  703. GetConsoleCP( VOID );
  704.  
  705. WINBASEAPI
  706. BOOL
  707. WINAPI
  708. SetConsoleCP(
  709.     UINT wCodePageID
  710.     );
  711.  
  712. WINBASEAPI
  713. UINT
  714. WINAPI
  715. GetConsoleOutputCP( VOID );
  716.  
  717. WINBASEAPI
  718. BOOL
  719. WINAPI
  720. SetConsoleOutputCP(
  721.     UINT wCodePageID
  722.     );
  723.  
  724. #ifdef __cplusplus
  725. }
  726. #endif
  727.  
  728. #include <poppack.h>
  729.  
  730. #endif // _WINCON_
  731.