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.
135 lines
3.4 KiB
135 lines
3.4 KiB
//***************************************************************************
|
|
//
|
|
// iisprov.h
|
|
//
|
|
// Module: WMI IIS Instance provider
|
|
//
|
|
// Purpose: Genral purpose include file.
|
|
//
|
|
// Copyright (c)1999 Microsoft Corporation, All Rights Reserved
|
|
//
|
|
//***************************************************************************
|
|
|
|
#ifndef _iisprov_H_
|
|
#define _iisprov_H_
|
|
|
|
#include <windows.h>
|
|
#include <wbemprov.h>
|
|
#include <genlex.h>
|
|
#include <opathlex.h>
|
|
#include <objpath.h>
|
|
#include <comdef.h>
|
|
#include <stdio.h>
|
|
|
|
#include "iisfiles.h"
|
|
#include "ntrkcomm.h"
|
|
#include "schema.h"
|
|
#include "metabase.h"
|
|
#include "certmap.h"
|
|
#include "adminacl.h"
|
|
#include "ipsecurity.h"
|
|
#include "enum.h"
|
|
#include "utils.h"
|
|
|
|
|
|
// This is an instance qualifier of type bool. This specifies that the WMI
|
|
// client wants child nodes to have their own copy of properties being
|
|
// updated even if the properties are inherited from a parent node.
|
|
#define WSZ_OVERRIDE_PARENT L"OverrideParent"
|
|
|
|
|
|
// These variables keep track of when the module can be unloaded
|
|
extern long g_cLock;
|
|
|
|
|
|
// Provider interfaces are provided by objects of this class
|
|
|
|
class CIISInstProvider : public CImpersonatedProvider
|
|
{
|
|
public:
|
|
CIISInstProvider(
|
|
BSTR ObjectPath = NULL,
|
|
BSTR User = NULL,
|
|
BSTR Password = NULL,
|
|
IWbemContext* pCtx = NULL
|
|
)
|
|
{}
|
|
|
|
HRESULT STDMETHODCALLTYPE DoDeleteInstanceAsync(
|
|
/* [in] */ const BSTR, //ObjectPath,
|
|
/* [in] */ long, // lFlags,
|
|
/* [in] */ IWbemContext __RPC_FAR *, //pCtx,
|
|
/* [in] */ IWbemObjectSink __RPC_FAR * //pResponseHandler
|
|
);
|
|
|
|
HRESULT STDMETHODCALLTYPE DoExecQueryAsync(
|
|
/* [in] */ const BSTR, // QueryLanguage,
|
|
/* [in] */ const BSTR, // Query,
|
|
/* [in] */ long, // lFlags,
|
|
/* [in] */ IWbemContext __RPC_FAR *, // pCtx,
|
|
/* [in] */ IWbemObjectSink __RPC_FAR * //pResponseHandler
|
|
)
|
|
{return WBEM_E_NOT_SUPPORTED;};
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE DoGetObjectAsync(
|
|
/* [in] */ const BSTR,
|
|
/* [in] */ long,
|
|
/* [in] */ IWbemContext __RPC_FAR *,
|
|
/* [in] */ IWbemObjectSink __RPC_FAR *
|
|
); // SUPPORTED
|
|
|
|
HRESULT STDMETHODCALLTYPE DoPutInstanceAsync(
|
|
IWbemClassObject __RPC_FAR *,
|
|
long,
|
|
IWbemContext __RPC_FAR *,
|
|
IWbemObjectSink __RPC_FAR *
|
|
);
|
|
|
|
HRESULT STDMETHODCALLTYPE DoCreateInstanceEnumAsync(
|
|
const BSTR,
|
|
long,
|
|
IWbemContext __RPC_FAR *,
|
|
IWbemObjectSink __RPC_FAR *
|
|
);
|
|
|
|
HRESULT STDMETHODCALLTYPE DoExecMethodAsync(
|
|
const BSTR,
|
|
const BSTR,
|
|
long,
|
|
IWbemContext*,
|
|
IWbemClassObject*,
|
|
IWbemObjectSink*
|
|
) ;
|
|
|
|
|
|
private:
|
|
IWbemClassObject* SetExtendedStatus(WCHAR* a_psz);
|
|
|
|
};
|
|
|
|
|
|
// This class is the class factory for CInstPro objects.
|
|
|
|
class CProvFactory : public IClassFactory
|
|
{
|
|
protected:
|
|
ULONG m_cRef;
|
|
|
|
public:
|
|
CProvFactory(void);
|
|
~CProvFactory(void);
|
|
|
|
//IUnknown members
|
|
STDMETHODIMP QueryInterface(REFIID, PPVOID);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
//IClassFactory members
|
|
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, PPVOID);
|
|
STDMETHODIMP LockServer(BOOL);
|
|
};
|
|
|
|
|
|
#endif
|
|
|