|
|
//***************************************************************************
//
// Copyright (c) 1998-1999 Microsoft Corporation
//
// File: parsedn.h
//
// Description :
// The implementation of IParseDisplayName
//
//***************************************************************************
#ifndef _PARSEDN_H_
#define _PARSEDN_H_
//***************************************************************************
//
// Class : CWbemParseDN
//
// Description :
// Implements the IParseDisplayName interface, which parses
// CIM object paths and returns a pointer to the requested object
//
// Public Methods :
// IUnknown Methods
// IParseDisplayName Methods
// Constructor, Destructor
// CreateProvider - creates an object of this class
//
// Public Data Members :
//
//***************************************************************************
class CWbemParseDN : public IParseDisplayName { private: long m_cRef;
static bool ParseAuthAndImpersonLevel ( LPWSTR lpszInputString, ULONG* pchEaten, bool &authnSpecified, enum WbemAuthenticationLevelEnum *lpeAuthLevel, bool &impSpecified, enum WbemImpersonationLevelEnum *lpeImpersonLevel, CSWbemPrivilegeSet &privilegeSet, BSTR &bsAuthority);
static bool ParseImpersonationLevel ( LPWSTR lpszInputString, ULONG* pchEaten, enum WbemImpersonationLevelEnum *lpeImpersonLevel);
static bool ParseAuthenticationLevel ( LPWSTR lpszInputString, ULONG* pchEaten, enum WbemAuthenticationLevelEnum *lpeAuthLevel);
static bool ParsePrivilegeSet ( LPWSTR lpszInputString, ULONG *pchEaten, CSWbemPrivilegeSet &privilegeSet);
static bool ParseAuthority ( LPWSTR lpszInputString, ULONG *pchEaten, BSTR &bsAuthority);
public:
//IUnknown members
STDMETHODIMP QueryInterface(REFIID, LPVOID*); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void);
//IParseDisplayName members
STDMETHODIMP ParseDisplayName (IBindCtx* pbc, LPOLESTR szDisplayName, ULONG* pchEaten, IMoniker** ppmk);
CWbemParseDN::CWbemParseDN(); virtual CWbemParseDN::~CWbemParseDN();
// Used for parsing the authentication and impersonation levels.
static bool ParseSecurity ( LPWSTR lpszInputString, ULONG* pchEaten, bool &authnSpecified, enum WbemAuthenticationLevelEnum *lpeAuthLevel, bool &impSpecified, enum WbemImpersonationLevelEnum *lpeImpersonLevel, CSWbemPrivilegeSet &privilegeSet, BSTR &bsAuthority);
// Used for parsing the locale setting.
static bool ParseLocale ( LPWSTR lpszInputString, ULONG *pchEaten, BSTR &bsLocale);
// Used to return security specification as a string
static wchar_t *GetSecurityString ( bool authnSpecified, enum WbemAuthenticationLevelEnum authnLevel, bool impSpecified, enum WbemImpersonationLevelEnum impLevel, CSWbemPrivilegeSet &privilegeSet, BSTR &bsAuthority );
// Used to return locale specification as a string
static wchar_t *GetLocaleString ( BSTR bsLocale ); };
#endif //_PARSEDN_H_
|