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

248 lines
5.7 KiB
C++

/*****************************************************************/
/** Microsoft LAN Manager **/
/** Copyright(c) Microsoft Corp., 1991 **/
/*****************************************************************/
/*
* History:
* RustanL 03-Jan-1991 Created
* RustanL 10-Jan-1991 Added SHARE1 subclass and iterator
* ChuckC 23-Mar-1991 code rev cleanup
* KeithMo 28-Jul-1991 Added SHARE2 subclass and iterator
* KeithMo 07-Oct-1991 Win32 Conversion.
* Yi-HsinS 20-Nov-1992 Added _fSticky
*
*/
#ifndef _LMOESH_HXX_
#define _LMOESH_HXX_
#include "lmoenum.hxx"
/**********************************************************\
NAME: SHARE_ENUM
WORKBOOK:
SYNOPSIS: SHARE ENUM class
INTERFACE:
PARENT: LOC_LM_ENUM
USES:
CAVEATS:
NOTES:
HISTORY:
RustanL 03-Jan-1991 Created
RustanL 10-Jan-1991 Added SHARE1 subclass and iterator
\**********************************************************/
DLL_CLASS SHARE_ENUM : public LOC_LM_ENUM
{
private:
BOOL _fSticky;
virtual APIERR CallAPI( BYTE ** ppbBuffer,
UINT * pcEntriesRead );
protected:
SHARE_ENUM( const TCHAR * pszServer, UINT uLevel, BOOL fSticky = FALSE );
}; // class SHARE_ENUM
/**********************************************************\
NAME: SHARE1_ENUM
WORKBOOK:
SYNOPSIS: SHARE ENUM level 1 object
INTERFACE:
SHARE1_ENUM() - constructor
~SHARE1_ENUM() - constructor
PARENT: SHARE_ENUM
USES:
CAVEATS:
NOTES:
HISTORY:
RustanL 03-Jan-1991 Created
RustanL 10-Jan-1991 Added SHARE1 subclass and iterator
\**********************************************************/
DLL_CLASS SHARE1_ENUM : public SHARE_ENUM
{
public:
SHARE1_ENUM( const TCHAR * pszServer, BOOL fSticky = FALSE );
}; // class SHARE1_ENUM
/*************************************************************************
NAME: SHARE1_ENUM_OBJ
SYNOPSIS: This is basically the return type from the SHARE1_ENUM_ITER
iterator.
INTERFACE: SHARE1_ENUM_OBJ - Class constructor.
~SHARE1_ENUM_OBJ - Class destructor.
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
QueryName - Returns the sharepoint name.
QueryResourceType - Returns the resource type.
QueryComment - Returns the sharepoint comment.
PARENT: ENUM_OBJ_BASE
HISTORY:
KeithMo 07-Oct-1991 Created.
**************************************************************************/
DLL_CLASS SHARE1_ENUM_OBJ : public ENUM_OBJ_BASE
{
public:
//
// Provide properly-casted buffer Query/Set methods.
//
const struct share_info_1 * QueryBufferPtr( VOID ) const
{ return (const struct share_info_1 *)ENUM_OBJ_BASE::QueryBufferPtr(); }
VOID SetBufferPtr( const struct share_info_1 * pBuffer );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryName, const TCHAR *, shi1_netname );
DECLARE_ENUM_ACCESSOR( QueryResourceType, UINT, shi1_type );
DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, shi1_remark );
}; // class SHARE1_ENUM_OBJ
DECLARE_LM_ENUM_ITER_OF( SHARE1, struct share_info_1 );
/*************************************************************************
NAME: SHARE2_ENUM
SYNOPSIS: SHARE2_ENUM is an enumerator for enumerating the
sharepoints on a particular server.
INTERFACE: SHARE2_ENUM() - Class constructor.
PARENT: SHARE_ENUM
USES: None.
CAVEATS:
NOTES:
HISTORY:
KeithMo 28-Jul-1991 Created.
**************************************************************************/
DLL_CLASS SHARE2_ENUM : public SHARE_ENUM
{
public:
SHARE2_ENUM( const TCHAR * pszServer, BOOL fSticky = FALSE );
}; // class SHARE2_ENUM
/*************************************************************************
NAME: SHARE2_ENUM_OBJ
SYNOPSIS: This is basically the return type from the SHARE2_ENUM_ITER
iterator.
INTERFACE: SHARE2_ENUM_OBJ - Class constructor.
~SHARE2_ENUM_OBJ - Class destructor.
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
QueryName - Returns the sharepoint name.
QueryType - Returns the sharepoint type.
QueryComment - Returns the sharepoint comment.
QueryPermissions - Returns the sharepoint permissions.
QueryMaxUses - Returns the maximum number of
uses allowed.
QueryCurrentUses - Returns the current number of
uses connected to the sharepoint.
QueryPath - Returns the sharepoint path.
QueryPassword - Returns the sharepoint password.
PARENT: ENUM_OBJ_BASE
HISTORY:
KeithMo 07-Oct-1991 Created.
**************************************************************************/
DLL_CLASS SHARE2_ENUM_OBJ : public ENUM_OBJ_BASE
{
public:
//
// Provide properly-casted buffer Query/Set methods.
//
const struct share_info_2 * QueryBufferPtr( VOID ) const
{ return (const struct share_info_2 *)ENUM_OBJ_BASE::QueryBufferPtr(); }
VOID SetBufferPtr( const struct share_info_2 * pBuffer );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryName, const TCHAR *, shi2_netname );
DECLARE_ENUM_ACCESSOR( QueryType, UINT, shi2_type );
DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, shi2_remark );
DECLARE_ENUM_ACCESSOR( QueryPermissions,UINT, shi2_permissions );
DECLARE_ENUM_ACCESSOR( QueryMaxUses, UINT, shi2_max_uses );
DECLARE_ENUM_ACCESSOR( QueryCurrentUses,UINT, shi2_current_uses );
DECLARE_ENUM_ACCESSOR( QueryPath, const TCHAR *, shi2_path );
DECLARE_ENUM_ACCESSOR( QueryPassword, const TCHAR *, shi2_passwd );
}; // class SHARE2_ENUM_OBJ
DECLARE_LM_ENUM_ITER_OF( SHARE2, struct share_info_2 )
#endif // _LMOESH_HXX_