Leaked source code of windows server 2003
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.
 
 
 
 
 
 

166 lines
5.0 KiB

// support.h: interface for the CEnumPrivileges and CEnumRegistryValues.
//
// Copyright (c)1997-1999 Microsoft Corporation
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SUPPORT_H__BD7570F7_9F0E_4C6B_B525_E078691B6D0E__INCLUDED_)
#define AFX_SUPPORT_H__BD7570F7_9F0E_4C6B_B525_E078691B6D0E__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "GenericClass.h"
/*
Class description
Naming:
CEnumRegistryValues stands for Registry Values Enumerator.
Base class:
CGenericClass, because it is a class representing a WMI
object - its WMI class name is Sce_KnownRegistryValues
Purpose of class:
(1) Implement Sce_KnownRegistryValues WMI class.
(2) Help to find out if a particular registry is one of the known registry values.
Design:
(1) Almost trivial other than implementing necessary method as a concrete class
Use:
(1) Almost never used directly. Alway through the common interface defined by
CGenericClass.
*/
class CEnumRegistryValues : public CGenericClass
{
public:
CEnumRegistryValues (
ISceKeyChain *pKeyChain,
IWbemServices *pNamespace,
IWbemContext *pCtx = NULL
);
virtual ~CEnumRegistryValues ();
virtual HRESULT PutInst (
IWbemClassObject *pInst,
IWbemObjectSink *pHandler,
IWbemContext *pCtx
);
virtual HRESULT CreateObject (
IWbemObjectSink *pHandler,
ACTIONTYPE atAction
);
private:
HRESULT EnumerateInstances (
IWbemObjectSink *pHandler
);
HRESULT ConstructInstance (
IWbemObjectSink *pHandler,
LPCWSTR wszRegKeyName,
LPCWSTR wszRegPath,
HKEY hKeyRoot
);
HRESULT DeleteInstance (
IWbemObjectSink *pHandler,
LPCWSTR wszRegKeyName
);
HRESULT SavePropertyToReg (
LPCWSTR wszKeyName,
int RegType,
int DispType,
LPCWSTR wszDispName,
LPCWSTR wszUnits,
PSCE_NAME_LIST pnlChoice,
PSCE_NAME_LIST pnlResult
);
};
//================================================================================
/*
Class description
Naming:
CEnumPrivileges stands for Supported Privilege Enumerator.
Base class:
CGenericClass, because it is a class representing a WMI
object - its WMI class name is Sce_SupportedPrivileges
Purpose of class:
(1) Implement Sce_SupportedPrivileges WMI class.
(2) Help to determine if a certain privilege is supported or not.
Design:
(1) Almost trivial other than implementing necessary method as a concrete class
(2) We don't allow supported privileges to grow. So, not PutInstance support.
Use:
(1) Almost never used directly. Alway through the common interface defined by
CGenericClass.
*/
class CEnumPrivileges : public CGenericClass
{
public:
CEnumPrivileges (
ISceKeyChain *pKeyChain,
IWbemServices *pNamespace,
IWbemContext *pCtx = NULL
);
virtual ~CEnumPrivileges ();
virtual HRESULT PutInst (
IWbemClassObject *pInst,
IWbemObjectSink *pHandler,
IWbemContext *pCtx
)
{
return WBEM_E_NOT_SUPPORTED;
}
virtual HRESULT CreateObject (
IWbemObjectSink *pHandler,
ACTIONTYPE atAction
);
private:
HRESULT ConstructInstance (
IWbemObjectSink *pHandler,
LPCWSTR PrivName
);
};
#endif // !defined(AFX_SUPPORT_H__BD7570F7_9F0E_4C6B_B525_E078691B6D0E__INCLUDED_)