windows-nt/Source/XPSP1/NT/admin/wmi/wbem/providers/dsprovider/clsname.h

66 lines
1.3 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//
// 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*/