Leaked source code of windows server 2003
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.

152 lines
3.2 KiB

  1. /*++
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4. sensapip.h
  5. Abstract:
  6. This header file is used by components external to System Event
  7. Notification Service (SENS). These components will call SENS to
  8. notify it of events related to themselves.
  9. Author:
  10. Gopal Parupudi <GopalP>
  11. [Notes:]
  12. optional-notes
  13. Revision History:
  14. GopalP 11/4/1997 Start.
  15. --*/
  16. #ifndef __SENSAPIP_H__
  17. #define __SENSAPIP_H__
  18. #if _MSC_VER > 1000
  19. #pragma once
  20. #endif
  21. //
  22. // Includes
  23. //
  24. #if !defined(__midl)
  25. #include <netcon.h>
  26. #else
  27. import "netcon.idl";
  28. #endif // __midl
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32. //
  33. // Constants
  34. //
  35. #define SENS_NOTIFY_RAS_STARTED 0x00000001
  36. #define SENS_NOTIFY_RAS_STOPPED 0x00000002
  37. #define SENS_NOTIFY_RAS_CONNECT 0x00000004
  38. #define SENS_NOTIFY_RAS_DISCONNECT 0x00000008
  39. #define SENS_NOTIFY_RAS_DISCONNECT_PENDING 0x00000010
  40. #define SENS_NOTIFY_LAN_CONNECT 0x00000020
  41. #define SENS_NOTIFY_LAN_DISCONNECT 0x00000040
  42. #define SENS_NOTIFY_WINLOGON_LOGON 0x00001000
  43. #define SENS_NOTIFY_WINLOGON_LOGOFF 0x00002000
  44. #define SENS_NOTIFY_WINLOGON_STARTUP 0x00004000
  45. #define SENS_NOTIFY_WINLOGON_STARTSHELL 0x00008000
  46. #define SENS_NOTIFY_WINLOGON_SHUTDOWN 0x00010000
  47. #define SENS_NOTIFY_WINLOGON_LOCK 0x00020000
  48. #define SENS_NOTIFY_WINLOGON_UNLOCK 0x00040000
  49. #define SENS_NOTIFY_WINLOGON_STARTSCREENSAVER 0x00080000
  50. #define SENS_NOTIFY_WINLOGON_STOPSCREENSAVER 0x00100000
  51. #define SENS_NOTIFY_WINLOGON_POSTSHELL 0x00200000
  52. #define SENS_NOTIFY_WINLOGON_SESSION_DISCONNECT 0x00400000
  53. #define SENS_NOTIFY_WINLOGON_SESSION_RECONNECT 0x00800000
  54. //
  55. // Typedefs
  56. //
  57. typedef DWORD SENS_HRASCONN;
  58. typedef struct _WINLOGON_INFO
  59. {
  60. ULONG Size;
  61. ULONG Flags;
  62. LPWSTR UserName;
  63. LPWSTR Domain;
  64. LPWSTR WindowStation;
  65. DWORD hToken; // Originally HANDLE
  66. DWORD hDesktop; // Originally HDESK
  67. DWORD dwSessionId;
  68. } WINLOGON_INFO, *PWINLOGON_INFO;
  69. typedef struct _SENS_NOTIFY_WINLOGON
  70. {
  71. DWORD eType;
  72. WINLOGON_INFO Info;
  73. } SENS_NOTIFY_WINLOGON, *PSENS_NOTIFY_WINLOGON;
  74. typedef struct _SENS_NOTIFY_RAS
  75. {
  76. DWORD eType;
  77. SENS_HRASCONN hConnection;
  78. } SENS_NOTIFY_RAS, *PSENS_NOTIFY_RAS;
  79. typedef struct _SENS_NOTIFY_NETCON
  80. {
  81. DWORD eType;
  82. INetConnection *pINetConnection;
  83. } SENS_NOTIFY_NETCON, *PSENS_NOTIFY_NETCON;
  84. typedef struct _SENS_NOTIFY_NETCON_P // _P stands for Private
  85. {
  86. DWORD eType;
  87. #ifdef MIDL_PASS
  88. [string]
  89. #endif // MIDL_PASS
  90. LPWSTR Name;
  91. NETCON_STATUS Status;
  92. NETCON_MEDIATYPE Type;
  93. } SENS_NOTIFY_NETCON_P, *PSENS_NOTIFY_NETCON_P;
  94. //
  95. // Function prototypes
  96. //
  97. #if !defined(__midl)
  98. DWORD APIENTRY
  99. SensNotifyWinlogonEvent(
  100. PSENS_NOTIFY_WINLOGON pEvent
  101. );
  102. DWORD APIENTRY
  103. SensNotifyRasEvent(
  104. PSENS_NOTIFY_RAS pEvent
  105. );
  106. DWORD APIENTRY
  107. SensNotifyNetconEvent(
  108. PSENS_NOTIFY_NETCON pEvent
  109. );
  110. #endif // !defined(__midl)
  111. #ifdef __cplusplus
  112. }
  113. #endif
  114. #endif // __SENSAPIP_H__