Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

480 lines
12 KiB

/**********************************************************************/
/** Microsoft Windows NT **/
/** Copyright(c) Microsoft Corp., 1993 **/
/**********************************************************************/
/*
lmoerpl.hxx
RPL enumeration objects
FILE HISTORY:
JonN 19-Jul-1993 templated from User object
JonN 03-Aug-1993 Added handle-replacement technology
*/
#ifndef _LMOERPL_HXX_
#define _LMOERPL_HXX_
#include "lmoersm.hxx"
#include "lmorpl.hxx" // RPL_SERVER_REF object
/**********************************************************\
NAME: RPL_PROFILE_ENUM
SYNOPSIS: RPL Profile enumeration class
PARENT: LM_RESUME_ENUM
USES: NetRplProfileEnum
HISTORY:
jonn 19-Jul-1993 Templated from User object
JonN 03-Aug-1993 Added handle-replacement technology
\**********************************************************/
class RPL_PROFILE_ENUM : public LM_RESUME_ENUM
{
private:
RPL_SERVER_REF _rplsrvref;
DWORD _ResumeHandle;
NLS_STR _nlsAdapterName;
virtual APIERR CallAPI( BOOL fRestartEnum,
BYTE ** ppbBuffer,
UINT * pcEntriesRead );
protected:
RPL_PROFILE_ENUM ( RPL_SERVER_REF & rplsrvref,
UINT level,
const TCHAR * pszAdapterName = NULL,
BOOL fKeepBuffers = FALSE );
~RPL_PROFILE_ENUM ();
virtual VOID FreeBuffer( BYTE ** ppbBuffer );
}; // class RPL_PROFILE_ENUM
/**********************************************************\
NAME: RPL_PROFILE0_ENUM
SYNOPSIS: RPL Profile enumeration, level 0
INTERFACE:
RPL_PROFILE0_ENUM() - construct with location
string or type, optional adapter ID
PARENT: RPL_PROFILE_ENUM
HISTORY:
jonn 19-Jul-1993 Templated from User object
JonN 03-Aug-1993 Added handle-replacement technology
\**********************************************************/
class RPL_PROFILE0_ENUM : public RPL_PROFILE_ENUM
{
public:
RPL_PROFILE0_ENUM ( RPL_SERVER_REF & rplsrvref,
const TCHAR * pszAdapterName = NULL,
BOOL fKeepBuffers = FALSE );
}; // class RPL_PROFILE0_ENUM
/*************************************************************************
NAME: RPL_PROFILE0_ENUM_OBJ
SYNOPSIS: This is basically the return type from the
RPL_PROFILE0_ENUM_ITER iterator.
INTERFACE: RPL_PROFILE0_ENUM_OBJ - Class constructor.
~RPL_PROFILE0_ENUM_OBJ - Class destructor.
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
QueryName - Returns the profile name.
QueryComment - Returns the profile comment.
PARENT: ENUM_OBJ_BASE
HISTORY:
jonn 19-Jul-1993 Templated from User object
**************************************************************************/
class RPL_PROFILE0_ENUM_OBJ : public ENUM_OBJ_BASE
{
public:
//
// Provide properly-casted buffer Query/Set methods.
//
DECLARE_ENUM_BUFFER_METHODS( RPL_PROFILE_INFO_0 );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryName, const TCHAR *, ProfileName );
DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, ProfileComment );
}; // class RPL_PROFILE0_ENUM_OBJ
DECLARE_LM_RESUME_ENUM_ITER_OF( RPL_PROFILE0, RPL_PROFILE_INFO_0 );
/**********************************************************\
NAME: RPL_WKSTA_ENUM
SYNOPSIS: RPL Workstation enumeration class
PARENT: LM_RESUME_ENUM
USES: NetRplWkstaEnum
HISTORY:
jonn 19-Jul-1993 Templated from User object
JonN 03-Aug-1993 Added handle-replacement technology
\**********************************************************/
class RPL_WKSTA_ENUM : public LM_RESUME_ENUM
{
private:
RPL_SERVER_REF _rplsrvref;
DWORD _ResumeHandle;
NLS_STR _nlsProfileName;
virtual APIERR CallAPI( BOOL fRestartEnum,
BYTE ** ppbBuffer,
UINT * pcEntriesRead );
protected:
RPL_WKSTA_ENUM ( RPL_SERVER_REF & rplsrvref,
UINT level,
const TCHAR * pszProfileName = NULL,
BOOL fKeepBuffers = FALSE );
~RPL_WKSTA_ENUM ();
virtual VOID FreeBuffer( BYTE ** ppbBuffer );
}; // class RPL_WKSTA_ENUM
/**********************************************************\
NAME: RPL_WKSTA1_ENUM
SYNOPSIS: RPL Workstation enumeration, level 1
INTERFACE:
RPL_WKSTA1_ENUM() - construct with location
string or type, optional adapter ID
PARENT: RPL_WKSTA_ENUM
HISTORY:
jonn 19-Jul-1993 Templated from User object
JonN 03-Aug-1993 Added handle-replacement technology
\**********************************************************/
class RPL_WKSTA1_ENUM : public RPL_WKSTA_ENUM
{
public:
RPL_WKSTA1_ENUM ( RPL_SERVER_REF & rplsrvref,
const TCHAR * pszAdapterName = NULL,
BOOL fKeepBuffers = FALSE );
}; // class RPL_WKSTA1_ENUM
/*************************************************************************
NAME: RPL_WKSTA1_ENUM_OBJ
SYNOPSIS: This is basically the return type from the
RPL_WKSTA1_ENUM_ITER iterator.
INTERFACE: RPL_WKSTA1_ENUM_OBJ - Class constructor.
~RPL_WKSTA1_ENUM_OBJ - Class destructor.
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
QueryWkstaName - Returns the workstation name.
QueryProfile - Returns the profile to which this
workstation is assigned.
QueryComment - Returns the workstation comment.
PARENT: ENUM_OBJ_BASE
HISTORY:
jonn 19-Jul-1993 Templated from User object
**************************************************************************/
class RPL_WKSTA1_ENUM_OBJ : public ENUM_OBJ_BASE
{
public:
//
// Provide properly-casted buffer Query/Set methods.
//
DECLARE_ENUM_BUFFER_METHODS( RPL_WKSTA_INFO_1 );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryWkstaName, const TCHAR *, WkstaName );
DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, WkstaComment );
DECLARE_ENUM_ACCESSOR( QueryFlags, DWORD, Flags );
DECLARE_ENUM_ACCESSOR( QueryWkstaInProfile, const TCHAR *, ProfileName );
}; // class RPL_WKSTA1_ENUM_OBJ
DECLARE_LM_RESUME_ENUM_ITER_OF( RPL_WKSTA1, RPL_WKSTA_INFO_1 );
/**********************************************************\
NAME: RPL_ADAPTER_ENUM
SYNOPSIS: RPL Adapter enumeration class
PARENT: LM_RESUME_ENUM
USES: NetRplAdapterEnum
HISTORY:
jonn 22-Jul-1993 Templated from RPL Wksta object
JonN 03-Aug-1993 Added handle-replacement technology
\**********************************************************/
class RPL_ADAPTER_ENUM : public LM_RESUME_ENUM
{
private:
RPL_SERVER_REF _rplsrvref;
DWORD _ResumeHandle;
virtual APIERR CallAPI( BOOL fRestartEnum,
BYTE ** ppbBuffer,
UINT * pcEntriesRead );
protected:
RPL_ADAPTER_ENUM ( RPL_SERVER_REF & rplsrvref,
UINT level,
BOOL fKeepBuffers = FALSE );
~RPL_ADAPTER_ENUM ();
virtual VOID FreeBuffer( BYTE ** ppbBuffer );
}; // class RPL_ADAPTER_ENUM
/**********************************************************\
NAME: RPL_ADAPTER0_ENUM
SYNOPSIS: RPL Adapter enumeration, level 0
INTERFACE:
RPL_ADAPTER0_ENUM() - construct with location
string or type, optional adapter ID
PARENT: RPL_ADAPTER_ENUM
HISTORY:
jonn 22-Jul-1993 Templated from RPL Wksta object
JonN 03-Aug-1993 Added handle-replacement technology
\**********************************************************/
class RPL_ADAPTER0_ENUM : public RPL_ADAPTER_ENUM
{
public:
RPL_ADAPTER0_ENUM ( RPL_SERVER_REF & rplsrvref,
BOOL fKeepBuffers = FALSE );
}; // class RPL_ADAPTER0_ENUM
/*************************************************************************
NAME: RPL_ADAPTER0_ENUM_OBJ
SYNOPSIS: This is basically the return type from the
RPL_ADAPTER0_ENUM_ITER iterator.
INTERFACE: RPL_ADAPTER0_ENUM_OBJ - Class constructor.
~RPL_ADAPTER0_ENUM_OBJ - Class destructor.
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
QueryAdapterName - Returns the adapter ID.
QueryComment - Returns the adapter comment.
PARENT: ENUM_OBJ_BASE
HISTORY:
jonn 22-Jul-1993 Templated from RPL Wksta object
**************************************************************************/
class RPL_ADAPTER0_ENUM_OBJ : public ENUM_OBJ_BASE
{
public:
//
// Provide properly-casted buffer Query/Set methods.
//
DECLARE_ENUM_BUFFER_METHODS( RPL_ADAPTER_INFO_0 );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryAdapterName, const TCHAR *, AdapterName );
DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, AdapterComment );
}; // class RPL_ADAPTER0_ENUM_OBJ
DECLARE_LM_RESUME_ENUM_ITER_OF( RPL_ADAPTER0, RPL_ADAPTER_INFO_0 );
/**********************************************************\
NAME: RPL_CONFIG_ENUM
SYNOPSIS: RPL Adapter enumeration class
PARENT: LM_RESUME_ENUM
USES: NetRplAdapterEnum
HISTORY:
JonN 15-Dec-1993 Templated from RPL Adapter object
\**********************************************************/
class RPL_CONFIG_ENUM : public LM_RESUME_ENUM
{
private:
RPL_SERVER_REF _rplsrvref;
DWORD _ResumeHandle;
virtual APIERR CallAPI( BOOL fRestartEnum,
BYTE ** ppbBuffer,
UINT * pcEntriesRead );
protected:
RPL_CONFIG_ENUM ( RPL_SERVER_REF & rplsrvref,
UINT level,
BOOL fKeepBuffers = FALSE );
~RPL_CONFIG_ENUM ();
virtual VOID FreeBuffer( BYTE ** ppbBuffer );
}; // class RPL_CONFIG_ENUM
/**********************************************************\
NAME: RPL_CONFIG1_ENUM
SYNOPSIS: RPL Configuration enumeration, level 1
INTERFACE:
RPL_CONFIG1_ENUM() - construct with location
string or type, optional adapter ID
PARENT: RPL_CONFIG_ENUM
HISTORY:
JonN 15-Dec-1993 Templated from RPL Adapter object
\**********************************************************/
class RPL_CONFIG1_ENUM : public RPL_CONFIG_ENUM
{
public:
RPL_CONFIG1_ENUM ( RPL_SERVER_REF & rplsrvref,
BOOL fKeepBuffers = FALSE );
}; // class RPL_CONFIG1_ENUM
/*************************************************************************
NAME: RPL_CONFIG1_ENUM_OBJ
SYNOPSIS: This is basically the return type from the
RPL_CONFIG1_ENUM_ITER iterator.
INTERFACE: RPL_CONFIG1_ENUM_OBJ - Class constructor
~RPL_CONFIG1_ENUM_OBJ - Class destructor
QueryBufferPtr - Replaces ENUM_OBJ_BASE method
QueryName - Returns the config name
QueryComment - Returns the config comment
QueryFlags - Returns the flags
PARENT: ENUM_OBJ_BASE
HISTORY:
JonN 15-Dec-1993 Templated from RPL Adapter object
**************************************************************************/
class RPL_CONFIG1_ENUM_OBJ : public ENUM_OBJ_BASE
{
public:
//
// Provide properly-casted buffer Query/Set methods.
//
DECLARE_ENUM_BUFFER_METHODS( RPL_CONFIG_INFO_1 );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryName, const TCHAR *, ConfigName );
DECLARE_ENUM_ACCESSOR( QueryComment, const TCHAR *, ConfigComment );
DECLARE_ENUM_ACCESSOR( QueryFlags, DWORD, Flags );
BOOL IsEnabled() const
{return !!(QueryFlags() & CONFIG_FLAGS_ENABLED_TRUE); }
}; // class RPL_CONFIG1_ENUM_OBJ
DECLARE_LM_RESUME_ENUM_ITER_OF( RPL_CONFIG1, RPL_CONFIG_INFO_1 );
#endif // _LMOERPL_HXX_