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.
|
|
/*******************************************************************************
* * 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
|