windows-nt/Source/XPSP1/NT/admin/netui/common/h/lmoeconn.hxx
2020-09-26 16:20:57 +08:00

242 lines
5.6 KiB
C++

/**********************************************************************/
/** Microsoft LAN Manager **/
/** Copyright(c) Microsoft Corp., 1990, 1991 **/
/**********************************************************************/
/*
lmoeconn.hxx
This file contains the class declarations for the CONN_ENUM,
CONN0_ENUM, CONN1_ENUM enumerator class and their associated
iterator classes.
CONN_ENUM is a base enumeration class intended to be subclassed for
the desired info level. CONN0_ENUM is an info level 0 enumerator,
while CONN1_ENUM is an info level 1 enumerator.
FILE HISTORY:
KeithMo 28-Jul-1991 Created.
KeithMo 12-Aug-1991 Code review cleanup.
KeithMo 07-Oct-1991 Win32 Conversion.
*/
#ifndef _LMOECONN_HXX
#define _LMOECONN_HXX
/*************************************************************************
NAME: CONN_ENUM
SYNOPSIS: This is a base enumeration class intended to be subclassed
for the desired info level.
INTERFACE: CONN_ENUM() - Class constructor.
CallAPI() - Invoke the enumeration API.
PARENT: LOC_LM_ENUM
USES: NLS_STR
CAVEATS:
NOTES:
HISTORY:
KeithMo 28-Jul-1991 Created.
KeithMo 12-Aug-1991 Code review cleanup.
**************************************************************************/
DLL_CLASS CONN_ENUM : public LOC_LM_ENUM
{
private:
NLS_STR _nlsQualifier;
virtual APIERR CallAPI( BYTE ** ppbBuffer,
UINT * pcEntriesRead );
protected:
CONN_ENUM( const TCHAR * pszServer,
const TCHAR * pszQualifier,
UINT uLevel );
}; // class CONN_ENUM
/*************************************************************************
NAME: CONN0_ENUM
SYNOPSIS: CONN0_ENUM is an enumerator for enumerating the
connections to a particular server.
INTERFACE: CONN0_ENUM() - Class constructor.
PARENT: CONN_ENUM
USES: None.
CAVEATS:
NOTES:
HISTORY:
KeithMo 28-Jul-1991 Created.
**************************************************************************/
DLL_CLASS CONN0_ENUM : public CONN_ENUM
{
public:
CONN0_ENUM( const TCHAR * pszServerName,
const TCHAR * pszQualifier );
}; // class CONN0_ENUM
/*************************************************************************
NAME: CONN0_ENUM_OBJ
SYNOPSIS: This is basically the return type from the CONN0_ENUM_ITER
iterator.
INTERFACE: CONN0_ENUM_OBJ - Class constructor.
~CONN0_ENUM_OBJ - Class destructor.
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
QueryID - Returns the connection ID.
PARENT: ENUM_OBJ_BASE
HISTORY:
KeithMo 07-Oct-1991 Created.
**************************************************************************/
DLL_CLASS CONN0_ENUM_OBJ : public ENUM_OBJ_BASE
{
public:
//
// Provide properly-casted buffer Query/Set methods.
//
const struct connection_info_0 * QueryBufferPtr( VOID ) const
{ return (const struct connection_info_0 *)ENUM_OBJ_BASE::QueryBufferPtr(); }
VOID SetBufferPtr( const struct connection_info_0 * pBuffer );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryID, UINT, coni0_id );
}; // class CONN0_ENUM_OBJ
DECLARE_LM_ENUM_ITER_OF( CONN0, struct connection_info_0 )
/*************************************************************************
NAME: CONN1_ENUM
SYNOPSIS: CONN1_ENUM is an enumerator for enumerating the
connections to a particular server.
INTERFACE: CONN1_ENUM() - Class constructor.
PARENT: CONN_ENUM
USES: None.
CAVEATS:
NOTES:
HISTORY:
KeithMo 28-Jul-1991 Created.
**************************************************************************/
DLL_CLASS CONN1_ENUM : public CONN_ENUM
{
public:
CONN1_ENUM( const TCHAR * pszServerName,
const TCHAR * pszQualifier );
}; // class CONN1_ENUM
/*************************************************************************
NAME: CONN1_ENUM_OBJ
SYNOPSIS: This is basically the return type from the CONN1_ENUM_ITER
iterator.
INTERFACE: CONN1_ENUM_OBJ - Class constructor.
~CONN1_ENUM_OBJ - Class destructor.
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
QueryID - Returns the connection ID.
QueryType - Returns the connection type.
QueryNumOpens - Returns the number of active
opens on this connection.
QueryNumUsers - Returns the number of users
on this connection.
QueryTime - Returns the connection time.
QueryUserName - Returns the user name.
QueryNetName - Returns the network resource name.
PARENT: ENUM_OBJ_BASE
HISTORY:
KeithMo 07-Oct-1991 Created.
**************************************************************************/
DLL_CLASS CONN1_ENUM_OBJ : public ENUM_OBJ_BASE
{
public:
//
// Provide properly-casted buffer Query/Set methods.
//
const struct connection_info_1 * QueryBufferPtr( VOID ) const
{ return (const struct connection_info_1 *)ENUM_OBJ_BASE::QueryBufferPtr(); }
VOID SetBufferPtr( const struct connection_info_1 * pBuffer );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryID, UINT, coni1_id );
DECLARE_ENUM_ACCESSOR( QueryType, UINT, coni1_type );
DECLARE_ENUM_ACCESSOR( QueryNumOpens, UINT, coni1_num_opens );
DECLARE_ENUM_ACCESSOR( QueryNumUsers, UINT, coni1_num_users );
DECLARE_ENUM_ACCESSOR( QueryTime, ULONG, coni1_time );
DECLARE_ENUM_ACCESSOR( QueryUserName, const TCHAR *, coni1_username );
DECLARE_ENUM_ACCESSOR( QueryNetName, const TCHAR *, coni1_netname );
}; // class CONN1_ENUM_OBJ
DECLARE_LM_ENUM_ITER_OF( CONN1, struct connection_info_1 )
#endif // _LMOECONN_HXX