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.
|
|
/******************************************************************************* * * CTXDEF.H * * TerminalServer API support (typedefs). * * copyright notice: Microsoft Corporation 1998 * * *******************************************************************************/
/*********** * Defines ***********/ #define WINSTATIONNAME_LENGTH 32
/* * Event flags for CtxWinStationWaitEvent */ #define WEVENT_NONE 0x00000000 #define WEVENT_CREATE 0x00000001 // new WinStation created #define WEVENT_DELETE 0x00000002 // existing WinStation deleted #define WEVENT_RENAME 0x00000004 // existing WinStation renamed #define WEVENT_CONNECT 0x00000008 // WinStation connect to client #define WEVENT_DISCONNECT 0x00000010 // WinStation logged on without client #define WEVENT_LOGON 0x00000020 // user logon to existing WinStation #define WEVENT_LOGOFF 0x00000040 // user logoff from existing WinStation #define WEVENT_STATECHANGE 0x00000080 // WinStation state change #define WEVENT_LICENSE 0x00000100 // License state change #define WEVENT_ALL 0x7fffffff // wait for all event types #define WEVENT_FLUSH 0x80000000 // unblock all waiters
/************ * Typedefs ************/ typedef WCHAR WINSTATIONNAMEW[ WINSTATIONNAME_LENGTH + 1 ]; typedef WCHAR * PWINSTATIONNAMEW;
typedef CHAR WINSTATIONNAMEA[ WINSTATIONNAME_LENGTH + 1 ]; typedef CHAR * PWINSTATIONNAMEA;
#ifdef UNICODE #define WINSTATIONNAME WINSTATIONNAMEW #define PWINSTATIONNAME PWINSTATIONNAMEW #else #define WINSTATIONNAME WINSTATIONNAMEA #define PWINSTATIONNAME PWINSTATIONNAMEA #endif /* UNICODE */
/* * WinStation connect states */ typedef enum _WINSTATIONSTATECLASS { State_Active, // user logged on to WinStation State_Connected, // WinStation connected to client State_ConnectQuery, // in the process of connecting to client State_Shadow, // shadowing another WinStation State_Disconnected, // WinStation logged on without client State_Idle, // waiting for client to connect State_Listen, // WinStation is listening for connection State_Reset, // WinStation is being reset State_Down, // WinStation is down due to error State_Init, // WinStation in initialization } WINSTATIONSTATECLASS;
typedef struct _SESSIONIDW { union { ULONG SessionId; ULONG LogonId; // internal use only }; WINSTATIONNAMEW WinStationName; WINSTATIONSTATECLASS State; } SESSIONIDW, * PSESSIONIDW;
typedef struct _SESSIONIDA { union { ULONG SessionId; ULONG LogonId; // internal use only }; WINSTATIONNAMEA WinStationName; WINSTATIONSTATECLASS State; } SESSIONIDA, * PSESSIONIDA;
#ifdef UNICODE #define SESSIONID SESSIONIDW #define PSESSIONID PSESSIONIDW #else #define SESSIONID SESSIONIDA #define PSESSIONID PSESSIONIDA #endif /* UNICODE */
/* * NtUserCtxConnectState() values * Used by routines that can't use WinStation API calls * like DLL init routines. */ #define CTX_W32_CONNECT_STATE_CONSOLE 0 #define CTX_W32_CONNECT_STATE_IDLE 1 #define CTX_W32_CONNECT_STATE_EXIT_IN_PROGRESS 2 #define CTX_W32_CONNECT_STATE_CONNECTED 3 #define CTX_W32_CONNECT_STATE_DISCONNECTED 4
|