Source code of Windows XP (NT5)
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.
|
|
/*****************************************************************/ /** Microsoft LAN Manager **/ /** Copyright(c) Microsoft Corp., 1991 **/ /*****************************************************************/
/*
* History: * Thomaspa 21-Feb-1992 Created * */
#ifndef _LMOEALI_HXX_
#define _LMOEALI_HXX_
#include "lmoenum.hxx"
#include "lmoersm.hxx"
/**********************************************************\
NAME: ALIAS_ENUM
SYNOPSIS: Alias enumeration class
INTERFACE: See derived USERx_ENUM classes
PARENT: LM_ENUM
USES:
HISTORY: Thomaspa 21-Feb-1992 Created
\**********************************************************/
DLL_CLASS ALIAS_ENUM : public LM_RESUME_ENUM { private: SAM_ENUMERATE_HANDLE _samenumh; SAM_DOMAIN & _samdomain; SAM_RID_ENUMERATION_MEM * _psamrem; UINT _cbMaxPreferred;
virtual APIERR CallAPI( BOOL fRestartEnum, BYTE ** ppbBuffer, UINT * pcEntriesRead );
protected: //
// This method is invoked to free an enumeration buffer.
//
virtual VOID FreeBuffer( BYTE ** ppbBuffer );
public: ALIAS_ENUM ( SAM_DOMAIN & samdomain, UINT cbMaxPreferred = 0xffff ); ~ALIAS_ENUM();
}; // class ALIAS_ENUM
/*************************************************************************
NAME: ALIAS_ENUM_OBJ
SYNOPSIS: This is basically the return type from the ALIAS_ENUM_ITER iterator.
INTERFACE: ALIAS_ENUM_OBJ - Class constructor.
~ALIAS_ENUM_OBJ - Class destructor.
QueryBufferPtr - Replaces ENUM_OBJ_BASE method.
GetName - Returns the Alias name.
QueryRid - Returs the Rid for the Alias
GetComment - fetches and returns the Alias comment
PARENT: ENUM_OBJ_BASE
HISTORY: Thomaspa 21-Feb-1992 Created
**************************************************************************/ DLL_CLASS ALIAS_ENUM_OBJ : public ENUM_OBJ_BASE { public:
//
// Provide properly-casted buffer Query/Set methods.
//
const SAM_RID_ENUMERATION * QueryBufferPtr( VOID ) const { return (const SAM_RID_ENUMERATION *)ENUM_OBJ_BASE::QueryBufferPtr(); }
VOID SetBufferPtr( const SAM_RID_ENUMERATION * pBuffer );
//
// Accessors.
//
DECLARE_ENUM_ACCESSOR( QueryUnicodeName, UNICODE_STRING, Name ); DECLARE_ENUM_ACCESSOR( QueryRid, const ULONG, RelativeId );
APIERR GetName( NLS_STR * pnlsName ) { ASSERT( pnlsName != NULL ); return pnlsName->MapCopyFrom( QueryUnicodeName().Buffer, QueryUnicodeName().Length ); }
APIERR GetComment( const SAM_DOMAIN & samdomain, NLS_STR * pnlsComment );
}; // class ALIAS_ENUM_OBJ
DECLARE_LM_RESUME_ENUM_ITER_OF( ALIAS, SAM_RID_ENUMERATION )
#endif // _LMOEALI_HXX_
|