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.
 
 
 
 
 
 

254 lines
5.5 KiB

/*++
Copyright (C) 1996-2001 Microsoft Corporation
Module Name:
ProvFact.h
Abstract:
History:
--*/
#ifndef _Server_SimpleFactory_H
#define _Server_SimpleFactory_H
#include "ProvRegInfo.h"
/******************************************************************************
*
* Name:
*
*
* Description:
*
*
*****************************************************************************/
class CServerObject_RawFactory : public _IWmiProviderFactory ,
public _IWmiProviderFactoryInitialize ,
public IWbemShutdown
{
private:
WmiAllocator &m_Allocator ;
long m_ReferenceCount ;
LONG m_Flags ;
IWbemContext *m_Context ;
LPWSTR m_Namespace ;
IWbemPath *m_NamespacePath ;
IWbemServices *m_Repository ;
IWbemServices *m_Service ;
public: /* Internal */
CServerObject_RawFactory ( WmiAllocator & a_Allocator ) ;
~CServerObject_RawFactory () ;
IWbemContext *Direct_GetContext () { return m_Context ; }
LPCWSTR Direct_GetNamespace () { return m_Namespace ; }
IWbemPath *Direct_GetNamespacePath () { return m_NamespacePath ; }
IWbemServices *Direct_GetRepository () { return m_Repository ; }
IWbemServices *Direct_GetService () { return m_Service ; }
HRESULT CreateSyncProvider (
IWbemServices *a_Stub ,
IUnknown *a_ServerSideProvider ,
wchar_t *a_NamespacePath ,
LONG a_Flags ,
IWbemContext *a_Context ,
GUID *a_TransactionIdentifier ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope ,
REFIID a_RIID ,
void **a_Interface ,
CServerObject_ProviderRegistrationV1 &a_Registration
) ;
HRESULT InitializeServerProvider (
IWbemServices *a_Stub ,
IUnknown *a_ProviderInterface ,
wchar_t *a_NamespacePath ,
LONG a_Flags ,
IWbemContext *a_Context ,
GUID *a_TransactionIdentifier ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope ,
REFIID a_RIID ,
void **a_Interface ,
CServerObject_ProviderRegistrationV1 &a_Registration
) ;
HRESULT InitializeNonApartmentProvider (
IWbemServices *a_Stub ,
IUnknown *a_ServerSideProviderInterface ,
wchar_t *a_NamespacePath ,
LONG a_Flags ,
IWbemContext *a_Context ,
GUID *a_TransactionIdentifier ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope ,
REFIID a_RIID ,
void **a_Interface ,
CServerObject_ProviderRegistrationV1 &a_Registration
) ;
HRESULT GetApartmentInstanceProvider (
LONG a_Flags ,
IWbemContext *a_Context ,
GUID *a_TransactionIdentifier ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope ,
REFIID a_RIID ,
void **a_Interface ,
CServerObject_ProviderRegistrationV1 &a_Registration
) ;
HRESULT GetNonApartmentProvider (
LONG a_Flags ,
IWbemContext *a_Context ,
GUID *a_TransactionIdentifier ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope ,
REFIID a_RIID ,
void **a_Interface ,
CServerObject_ProviderRegistrationV1 &a_Registration
) ;
HRESULT CheckInterfaceConformance (
CServerObject_ProviderRegistrationV1 &a_Registration ,
IUnknown *a_Unknown
) ;
public: /* Internal */
static HRESULT CreateInstance (
CServerObject_ProviderRegistrationV1 &a_Registration ,
const CLSID &a_ReferenceClsid ,
LPUNKNOWN a_OuterUnknown ,
const DWORD &a_ClassContext ,
const UUID &a_ReferenceInterfaceId ,
void **a_ObjectInterface
) ;
static HRESULT CreateServerSide (
CServerObject_ProviderRegistrationV1 &a_Registration ,
GUID *a_TransactionIdentifier ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
wchar_t *a_NamespacePath ,
IUnknown **a_ProviderInterface
) ;
public: /* External */
//IUnknown members
STDMETHODIMP QueryInterface ( REFIID , LPVOID FAR * ) ;
STDMETHODIMP_( ULONG ) AddRef () ;
STDMETHODIMP_( ULONG ) Release () ;
// CServerObject_RawFactory members
HRESULT STDMETHODCALLTYPE GetHostedProvider (
LONG a_Flags ,
IWbemContext *a_Context ,
GUID *a_TransactionIdentifier,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope ,
LPCWSTR a_Name ,
ULONG a_Host ,
LPCWSTR a_HostGroup ,
REFIID a_RIID ,
void **a_Interface
) ;
HRESULT STDMETHODCALLTYPE GetClassProvider (
LONG a_Flags ,
IWbemContext *a_Context ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope ,
IWbemClassObject *a_SuperClass ,
REFIID a_RIID ,
void **a_Interface
);
HRESULT STDMETHODCALLTYPE GetDynamicPropertyResolver (
LONG a_Flags ,
IWbemContext *a_Context ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
REFIID a_RIID ,
void **a_Interface
) ;
HRESULT STDMETHODCALLTYPE GetProvider (
WmiInternalContext a_InternalContext ,
LONG a_Flags ,
IWbemContext *a_Context ,
GUID *a_TransactionIdentifier,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope ,
LPCWSTR a_Name ,
REFIID a_RIID ,
void **a_Interface
) ;
HRESULT STDMETHODCALLTYPE GetDecoupledProvider (
LONG a_Flags ,
IWbemContext *a_Context ,
LPCWSTR a_User ,
LPCWSTR a_Locale ,
LPCWSTR a_Scope,
LPCWSTR a_Name ,
REFIID a_RIID ,
void **a_Interface
) ;
HRESULT STDMETHODCALLTYPE Initialize (
_IWmiProvSS *a_SubSys ,
_IWmiProviderFactory *a_Factory ,
LONG a_Flags ,
IWbemContext *a_Context ,
LPCWSTR a_Namespace ,
IWbemServices *a_Repository ,
IWbemServices *a_Service
) ;
HRESULT STDMETHODCALLTYPE Shutdown (
LONG a_Flags ,
ULONG a_MaxMilliSeconds ,
IWbemContext *a_Context
) ;
};
#endif // _Server_SimpleFactory_H