Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
2.0 KiB

  1. /*++
  2. Copyright (c) 1991-1998 Microsoft Corporation
  3. Module Name:
  4. conroute.h
  5. Abstract:
  6. This include file contains all the type and constant definitions that are
  7. shared by the BASE and CONSOLE components of the Windows Subsystem.
  8. Author:
  9. Therese Stowell (thereses) 3-Jan-1991
  10. Revision History:
  11. --*/
  12. //
  13. // These bits are always on for console handles and are used for routing
  14. // by windows.
  15. //
  16. #define CONSOLE_HANDLE_SIGNATURE 0x00000003
  17. #define CONSOLE_HANDLE_NEVERSET 0x10000000
  18. #define CONSOLE_HANDLE_MASK (CONSOLE_HANDLE_SIGNATURE | CONSOLE_HANDLE_NEVERSET)
  19. #define CONSOLE_HANDLE(HANDLE) (((ULONG_PTR)(HANDLE) & CONSOLE_HANDLE_MASK) == CONSOLE_HANDLE_SIGNATURE)
  20. #define CONSOLE_DETACHED_PROCESS -1
  21. #define CONSOLE_NEW_CONSOLE -2
  22. #define CONSOLE_CREATE_NO_WINDOW -3
  23. //
  24. // These strings are used to open console input or output.
  25. //
  26. #define CONSOLE_INPUT_STRING ((PWCHAR)"C\0O\0N\0I\0N\0$\0\0")
  27. #define CONSOLE_OUTPUT_STRING ((PWCHAR)"C\0O\0N\0O\0U\0T\0$\0\0")
  28. #define CONSOLE_GENERIC ((PWCHAR)"C\0O\0N\0\0")
  29. //
  30. // this string is used to call RegisterWindowMessage to get
  31. // progman's handle.
  32. //
  33. #define CONSOLE_PROGMAN_HANDLE_MESSAGE "ConsoleProgmanHandle"
  34. //
  35. // stream API definitions. these API are only supposed to be used by
  36. // subsystems (i.e. OpenFile routes to OpenConsoleW).
  37. //
  38. HANDLE
  39. APIENTRY
  40. OpenConsoleW(
  41. IN LPWSTR lpConsoleDevice,
  42. IN DWORD dwDesiredAccess,
  43. IN BOOL bInheritHandle,
  44. IN DWORD dwShareMode
  45. );
  46. HANDLE
  47. APIENTRY
  48. DuplicateConsoleHandle(
  49. IN HANDLE hSourceHandle,
  50. IN DWORD dwDesiredAccess,
  51. IN BOOL bInheritHandle,
  52. IN DWORD dwOptions
  53. );
  54. BOOL
  55. APIENTRY
  56. GetConsoleHandleInformation(
  57. IN HANDLE hObject,
  58. OUT LPDWORD lpdwFlags
  59. );
  60. BOOL
  61. APIENTRY
  62. SetConsoleHandleInformation(
  63. IN HANDLE hObject,
  64. IN DWORD dwMask,
  65. IN DWORD dwFlags
  66. );
  67. BOOL
  68. APIENTRY
  69. CloseConsoleHandle(
  70. IN HANDLE hConsole
  71. );
  72. BOOL
  73. APIENTRY
  74. VerifyConsoleIoHandle(
  75. IN HANDLE hIoHandle
  76. );
  77. HANDLE
  78. APIENTRY
  79. GetConsoleInputWaitHandle( VOID );