249 lines
6 KiB
C++
249 lines
6 KiB
C++
/**********************************************************************/
|
|
/** Microsoft LAN Manager **/
|
|
/** Copyright(c) Microsoft Corp., 1990, 1991 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
lmoesess.hxx
|
|
This file contains the class declarations for the SESSION_ENUM
|
|
and SESSION0_ENUM enumerator classes and their associated iterator
|
|
classes.
|
|
|
|
SESSION_ENUM is a base enumeration class intended to be subclassed for
|
|
the desired info level. SESSION0_ENUM is an info level 0 enumerator.
|
|
|
|
|
|
FILE HISTORY:
|
|
KeithMo 28-Jul-1991 Created.
|
|
KevinL 15-Sep-1991 Added SESSION1_ENUM.
|
|
KeithMo 07-Oct-1991 Win32 Conversion.
|
|
terryk 17-Oct-1991 Some fields are not supported in WIN32
|
|
|
|
*/
|
|
|
|
#ifndef _LMOESESS_HXX
|
|
#define _LMOESESS_HXX
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: SESSION_ENUM
|
|
|
|
SYNOPSIS: This is a base enumeration class intended to be subclassed
|
|
for the desired info level.
|
|
|
|
INTERFACE: SESSION_ENUM() - Class constructor.
|
|
|
|
CallAPI() - Invoke the enumeration API.
|
|
|
|
PARENT: LOC_LM_ENUM
|
|
|
|
USES: None.
|
|
|
|
CAVEATS:
|
|
|
|
NOTES:
|
|
|
|
HISTORY:
|
|
KeithMo 28-Jul-1991 Created.
|
|
|
|
**************************************************************************/
|
|
DLL_CLASS SESSION_ENUM : public LOC_LM_ENUM
|
|
{
|
|
private:
|
|
virtual APIERR CallAPI( BYTE ** ppbBuffer,
|
|
UINT * pcEntriesRead );
|
|
|
|
protected:
|
|
SESSION_ENUM( const TCHAR * pszServer,
|
|
UINT uLevel );
|
|
|
|
}; // class SESSION_ENUM
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: SESSION0_ENUM
|
|
|
|
SYNOPSIS: SESSION0_ENUM is an enumerator for enumerating the
|
|
connections to a particular server.
|
|
|
|
INTERFACE: SESSION0_ENUM() - Class constructor.
|
|
|
|
PARENT: SESSION_ENUM
|
|
|
|
USES: None.
|
|
|
|
CAVEATS:
|
|
|
|
NOTES:
|
|
|
|
HISTORY:
|
|
KeithMo 28-Jul-1991 Created.
|
|
|
|
**************************************************************************/
|
|
DLL_CLASS SESSION0_ENUM : public SESSION_ENUM
|
|
{
|
|
public:
|
|
SESSION0_ENUM( const TCHAR * pszServerName );
|
|
|
|
|
|
}; // class SESSION0_ENUM
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: SESSION0_ENUM_OBJ
|
|
|
|
SYNOPSIS: This is basically the return type from the SESSION0_ENUM_ITER
|
|
iterator.
|
|
|
|
INTERFACE: SESSION0_ENUM_OBJ - Class constructor.
|
|
|
|
~SESSION0_ENUM_OBJ - Class destructor.
|
|
|
|
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
|
|
|
|
QueryComputerName - Returns the name of the computer
|
|
that established the session.
|
|
|
|
PARENT: ENUM_OBJ_BASE
|
|
|
|
HISTORY:
|
|
KeithMo 07-Oct-1991 Created.
|
|
|
|
**************************************************************************/
|
|
DLL_CLASS SESSION0_ENUM_OBJ : public ENUM_OBJ_BASE
|
|
{
|
|
public:
|
|
|
|
//
|
|
// Provide properly-casted buffer Query/Set methods.
|
|
//
|
|
|
|
const struct session_info_0 * QueryBufferPtr( VOID ) const
|
|
{ return (const struct session_info_0 *)ENUM_OBJ_BASE::QueryBufferPtr(); }
|
|
|
|
VOID SetBufferPtr( const struct session_info_0 * pBuffer );
|
|
|
|
//
|
|
// Accessors.
|
|
//
|
|
|
|
DECLARE_ENUM_ACCESSOR( QueryComputerName, const TCHAR *, sesi0_cname );
|
|
|
|
}; // class SESSION0_ENUM_OBJ
|
|
|
|
|
|
DECLARE_LM_ENUM_ITER_OF( SESSION0, struct session_info_0 )
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: SESSION1_ENUM
|
|
|
|
SYNOPSIS: SESSION1_ENUM is an enumerator for enumerating the
|
|
connections to a particular server.
|
|
|
|
INTERFACE: SESSION1_ENUM() - Class constructor.
|
|
|
|
PARENT: SESSION_ENUM
|
|
|
|
USES: None.
|
|
|
|
CAVEATS:
|
|
|
|
NOTES:
|
|
|
|
HISTORY:
|
|
KevinL 15-Sep-1991 Created.
|
|
|
|
**************************************************************************/
|
|
DLL_CLASS SESSION1_ENUM : public SESSION_ENUM
|
|
{
|
|
public:
|
|
SESSION1_ENUM( const TCHAR * pszServerName );
|
|
|
|
|
|
}; // class SESSION1_ENUM
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
NAME: SESSION1_ENUM_OBJ
|
|
|
|
SYNOPSIS: This is basically the return type from the SESSION1_ENUM_ITER
|
|
iterator.
|
|
|
|
INTERFACE: SESSION1_ENUM_OBJ - Class constructor.
|
|
|
|
~SESSION1_ENUM_OBJ - Class destructor.
|
|
|
|
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
|
|
|
|
QueryComputerName - Returns the name of the computer
|
|
that established the session.
|
|
|
|
QueryUserName - Returns the name of the user
|
|
that established the session.
|
|
|
|
QueryNumConns - Returns the number of connections
|
|
made during the session.
|
|
|
|
QueryNumOpens - Returns the number of files et al
|
|
opened during the session.
|
|
|
|
QueryNumUsers - Returns the number of uses that
|
|
made connections during the session.
|
|
|
|
QueryTime - Returns the time the session has
|
|
been active.
|
|
|
|
QueryIdleTime - Returns the time the session has
|
|
been idle.
|
|
|
|
QueryUserFlags - Returns the user flags.
|
|
|
|
PARENT: ENUM_OBJ_BASE
|
|
|
|
HISTORY:
|
|
KeithMo 07-Oct-1991 Created.
|
|
|
|
**************************************************************************/
|
|
DLL_CLASS SESSION1_ENUM_OBJ : public ENUM_OBJ_BASE
|
|
{
|
|
public:
|
|
|
|
//
|
|
// Provide properly-casted buffer Query/Set methods.
|
|
//
|
|
|
|
const struct session_info_1 * QueryBufferPtr( VOID ) const
|
|
{ return (const struct session_info_1 *)ENUM_OBJ_BASE::QueryBufferPtr(); }
|
|
|
|
VOID SetBufferPtr( const struct session_info_1 * pBuffer );
|
|
|
|
//
|
|
// Accessors.
|
|
//
|
|
|
|
DECLARE_ENUM_ACCESSOR( QueryComputerName, const TCHAR *, sesi1_cname );
|
|
DECLARE_ENUM_ACCESSOR( QueryUserName, const TCHAR *, sesi1_username );
|
|
DECLARE_ENUM_ACCESSOR( QueryNumOpens, UINT, sesi1_num_opens );
|
|
DECLARE_ENUM_ACCESSOR( QueryTime, ULONG, sesi1_time );
|
|
DECLARE_ENUM_ACCESSOR( QueryIdleTime, ULONG, sesi1_idle_time );
|
|
DECLARE_ENUM_ACCESSOR( QueryUserFlags, ULONG, sesi1_user_flags );
|
|
#ifndef WIN32
|
|
// WIN32BUGBUG
|
|
DECLARE_ENUM_ACCESSOR( QueryNumConns, UINT, sesi1_num_conns );
|
|
DECLARE_ENUM_ACCESSOR( QueryNumUsers, UINT, sesi1_num_users );
|
|
#endif
|
|
|
|
}; // class SESSION1_ENUM_OBJ
|
|
|
|
|
|
DECLARE_LM_ENUM_ITER_OF( SESSION1, struct session_info_1 )
|
|
|
|
|
|
#endif // _LMOESESS_HXX
|