66 lines
1.3 KiB
C
66 lines
1.3 KiB
C
|
//
|
||
|
|
||
|
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
|
||
|
//
|
||
|
// ***************************************************************************
|
||
|
//
|
||
|
// Original Author: Rajesh Rao
|
||
|
//
|
||
|
// $Author: rajeshr $
|
||
|
// $Date: 6/11/98 4:43p $
|
||
|
// $Workfile:clasname.h $
|
||
|
//
|
||
|
// $Modtime: 6/11/98 11:21a $
|
||
|
// $Revision: 1 $
|
||
|
// $Nokeywords: $
|
||
|
//
|
||
|
//
|
||
|
// Description: Contains the declaration for a list of class names. This user
|
||
|
// the templates from SNMPProvider\Common
|
||
|
//***************************************************************************
|
||
|
/////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
#ifndef NAME_LIST_H
|
||
|
#define NAME_LIST_H
|
||
|
|
||
|
// Need to encapsulate LPWSTR to avoid conversion to CString
|
||
|
|
||
|
class CLPWSTR
|
||
|
{
|
||
|
public :
|
||
|
LPWSTR pszVal;
|
||
|
DWORD dwImpersonationLevel;
|
||
|
CLPWSTR * pNext;
|
||
|
|
||
|
CLPWSTR()
|
||
|
{
|
||
|
pszVal = NULL;
|
||
|
pNext = NULL;
|
||
|
}
|
||
|
|
||
|
~CLPWSTR()
|
||
|
{
|
||
|
delete [] pszVal;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class CNamesList
|
||
|
{
|
||
|
|
||
|
private:
|
||
|
CRITICAL_SECTION m_AccessibleClassesSection;
|
||
|
CLPWSTR *m_pListOfClassNames;
|
||
|
DWORD m_dwElementCount;
|
||
|
HRESULT GetImpersonationLevel(DWORD *pdwImpLevel);
|
||
|
|
||
|
public:
|
||
|
CNamesList();
|
||
|
virtual ~CNamesList();
|
||
|
BOOLEAN IsNamePresent(LPCWSTR pszClassName);
|
||
|
BOOLEAN RemoveName(LPCWSTR pszClassName);
|
||
|
BOOLEAN AddName(LPCWSTR pszClassName);
|
||
|
DWORD GetAllNames(LPWSTR **ppszNames);
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif /*NAME_LIST_H*/
|