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.
 
 
 
 
 
 

239 lines
6.2 KiB

/**********************************************************************/
/** Microsoft NT Windows **/
/** Copyright(c) Microsoft Corp., 1991 **/
/**********************************************************************/
/*
lmosess.hxx
LM_SESSION header file.
The class hierary is the following:
LOC_LM_OBJ
LM_SESSION
LM_SESSION_0
LM_SESSION_10
LM_SESSION_1
LM_SESSION_2
NOTES:
// CODEWORK: make all the QueryXXX() methods to inline.
FILE HISTORY:
terryk 21-Aug-91 Created
terryk 26-Aug-91 Code review changed. Attend: keithmo
chuckc terryk
terryk 07-Oct-91 type change for NT
terryk 21-Oct-91 type change for NT
*/
#ifndef _LMOSESS_HXX_
#define _LMOSESS_HXX_
/**********************************************************\
NAME: LM_SESSION
SYNOPSIS: Session object
INTERFACE: LM_SESSION() - constructor
QueryServer() - return the server name
QueryName() - return the client name
PARENT: LOC_LM_OBJ
USES: NLS_STR
CAVEATS: shadow class for all the LM_SESSION object
HISTORY:
terryk 21-Aug-91 Created
\**********************************************************/
DLL_CLASS LM_SESSION: public LOC_LM_OBJ
{
private:
NLS_STR _nlsComputername;
protected:
virtual APIERR I_Delete( UINT usForce = 0 );
APIERR SetName( const TCHAR * pszComputername );
LM_SESSION(const TCHAR *pszComputername, const TCHAR *pszLocation = NULL);
LM_SESSION(const TCHAR *pszComputername, enum LOCATION_TYPE loctype);
LM_SESSION(const TCHAR *pszComputername, const LOCATION & loc);
public:
const TCHAR * QueryName( VOID ) const;
const TCHAR * QueryServer( VOID ) const
{ return LOC_LM_OBJ::QueryServer(); }
};
/**********************************************************\
NAME: LM_SESSION_0
SYNOPSIS: LM_SESSION level 0 object.
INTERFACE: LM_SESSION_0() - constructor
PARENT: LM_SESSION
USES: NLS_STR
HISTORY:
terryk 21-Aug-91 Created
\**********************************************************/
DLL_CLASS LM_SESSION_0: public LM_SESSION
{
protected:
virtual APIERR I_GetInfo( VOID );
public:
LM_SESSION_0(const TCHAR *pszComputername, const TCHAR *pszLocation = NULL);
LM_SESSION_0(const TCHAR *pszComputername, enum LOCATION_TYPE loctype);
LM_SESSION_0(const TCHAR *pszComputername, const LOCATION & loc);
};
/**********************************************************\
NAME: LM_SESSION_10
SYNOPSIS: LM_SESSION level 10 object. This level contains the
following information:
computer name
user name
time
idle time
INTERFACE: LM_SESSION_10() - constructor
QueryUsername() - return the user name
QueryTime() - return the connection time
QueryIdleTime() - return the idle time
PARENT: LM_SESSION_0
USES: NLS_STR
HISTORY:
terryk 21-Aug-91 Created
\**********************************************************/
DLL_CLASS LM_SESSION_10: public LM_SESSION_0
{
private:
NLS_STR _nlsUsername;
ULONG _ulTime;
ULONG _ulIdleTime;
protected:
virtual APIERR I_GetInfo( VOID );
APIERR SetUsername( const TCHAR * pszUsername );
VOID SetTime( ULONG ulTime );
VOID SetIdleTime( ULONG ulIdleTime );
public:
LM_SESSION_10(const TCHAR *pszComputername, const TCHAR *pszLocation = NULL);
LM_SESSION_10(const TCHAR *pszComputername, enum LOCATION_TYPE loctype);
LM_SESSION_10(const TCHAR *pszComputername, const LOCATION & loc);
const TCHAR * QueryUsername( VOID ) const;
ULONG QueryTime( VOID ) const;
ULONG QueryIdleTime( VOID ) const;
};
/**********************************************************\
NAME: LM_SESSION_1
SYNOPSIS: LM_SESSION level 1 class
INTERFACE: LM_SESSION_1() - constructor
QueryNumConns() - return the number of connection
QueryNumOpens() - return the number of opening device
QueryNumUsers() - return the number of logon user
QueryUserFlags() - return the user flags
IsGuest() - is a guest account connection?
IsEncrypted() - use password encryption?
PARENT: LM_SESSION_10
HISTORY:
terryk 21-Aug-91 Created
\**********************************************************/
DLL_CLASS LM_SESSION_1: public LM_SESSION_10
{
private:
#ifndef WIN32
UINT _uiNumConns;
UINT _uiNumUsers;
#endif
UINT _uNumOpens;
ULONG _ulUserFlags;
protected:
virtual APIERR I_GetInfo( VOID );
#ifndef WIN32
VOID SetNumConns( UINT uiNumConns );
VOID SetNumUsers( UINT uiNumUsers );
#endif
VOID SetNumOpens( UINT uNumOpens );
VOID SetUserFlags( ULONG ulUserFlags );
public:
LM_SESSION_1(const TCHAR *pszComputername, const TCHAR *pszLocation = NULL);
LM_SESSION_1(const TCHAR *pszComputername, enum LOCATION_TYPE loctype);
LM_SESSION_1(const TCHAR *pszComputername, const LOCATION & loc);
#ifndef WIN32
UINT QueryNumConns( VOID ) const;
UINT QueryNumUsers( VOID ) const;
#endif
UINT QueryNumOpens( VOID ) const;
ULONG QueryUserFlags( VOID ) const;
BOOL IsGuest( VOID ) const;
BOOL IsEncrypted( VOID ) const;
};
/**********************************************************\
NAME: LM_SESSION_2
SYNOPSIS: LM_SESSION level 2 class
INTERFACE: LM_SESSION_2() - constructor
QueryClientType() - return the cltype name string
PARENT: LM_SESSION_1
USES: NLS_STR
HISTORY:
terryk 21-Aug-91 Created
\**********************************************************/
DLL_CLASS LM_SESSION_2: public LM_SESSION_1
{
private:
NLS_STR _nlsClientType;
protected:
virtual APIERR I_GetInfo( VOID );
APIERR SetClientType( const TCHAR * pszCltypename );
public:
LM_SESSION_2(const TCHAR *pszComputername, const TCHAR *pszLocation = NULL);
LM_SESSION_2(const TCHAR *pszComputername, enum LOCATION_TYPE loctype);
LM_SESSION_2(const TCHAR *pszComputername, const LOCATION & loc);
const TCHAR * QueryClientType( VOID ) const;
};
#endif // _LMOSESS_HXX_