|
|
//---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1996 - 2001
//
// File: cwebservice.hxx
//
// Contents: CIISWebService object
//
// History: 01-15-2001 BrentMid Created.
//
//----------------------------------------------------------------------------
class CIISWebService;
class CIISWebService : INHERIT_TRACKING, public IISWebService, public IPrivateUnknown, public IPrivateDispatch, public IADsExtension, public INonDelegatingUnknown { public:
/* IUnknown methods */ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
DECLARE_DELEGATING_REFCOUNTING
//
// INonDelegatingUnkown methods declaration for NG_QI, definition for
// NG_AddRef adn NG_Release.
//
STDMETHOD(NonDelegatingQueryInterface)(THIS_ const IID&, void ** );
DECLARE_NON_DELEGATING_REFCOUNTING
DECLARE_IDispatch_METHODS
DECLARE_IPrivateUnknown_METHODS
DECLARE_IPrivateDispatch_METHODS
STDMETHOD(Operate)( THIS_ DWORD dwCode, VARIANT varUserName, VARIANT varPassword, VARIANT varReserved );
STDMETHOD(PrivateGetIDsOfNames)( THIS_ REFIID riid, OLECHAR FAR* FAR* rgszNames, unsigned int cNames, LCID lcid, DISPID FAR* rgdispid) ;
STDMETHOD(PrivateInvoke)( THIS_ DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS FAR* pdispparams, VARIANT FAR* pvarResult, EXCEPINFO FAR* pexcepinfo, unsigned int FAR* puArgErr ) ;
DECLARE_IADs_METHODS
CIISWebService::CIISWebService(); CIISWebService::~CIISWebService();
static HRESULT CIISWebService::CreateWebService( IUnknown *pUnkOuter, REFIID riid, void **ppvObj );
static HRESULT CIISWebService::AllocateWebServiceObject( IUnknown *pUnkOuter, CCredentials& Credentials, CIISWebService ** ppWebService );
HRESULT CIISWebService::InitializeWebServiceObject( LPWSTR pszServerName, LPWSTR pszPath );
STDMETHOD (GetCurrentMode)( VARIANT FAR* pvServerMode );
STDMETHOD (CreateNewSite)( BSTR bstrServerComment, VARIANT* pvServerBindings, BSTR bstrRootVDirPath, VARIANT vServerID, VARIANT* pvActualID );
STDMETHOD (EnableApplication)( BSTR bstrAppName );
STDMETHOD (RemoveApplication)( BSTR bstrAppName );
STDMETHOD (QueryGroupIDStatus)( BSTR bstrGroupID, VARIANT FAR* bstrBuffer );
STDMETHOD (ListApplications)( VARIANT FAR* bstrBuffer );
STDMETHOD (AddDependency)( BSTR bstrApplication, BSTR bstrGroupID );
STDMETHOD (RemoveDependency)( BSTR bstrApplication, BSTR bstrGroupID );
STDMETHOD (EnableWebServiceExtension)( BSTR bstrExtension );
STDMETHOD (DisableWebServiceExtension)( BSTR bstrExtension );
STDMETHOD (ListWebServiceExtensions)( VARIANT FAR* bstrBuffer );
STDMETHOD (EnableExtensionFile)( BSTR bstrExtensionFile );
STDMETHOD (DisableExtensionFile)( BSTR bstrExtensionFile );
STDMETHOD (AddExtensionFile)( BSTR bstrExtensionFile, VARIANT bAccess, BSTR bstrGroupID, VARIANT bCanDelete, BSTR bstrDescription );
STDMETHOD (DeleteExtensionFileRecord)( BSTR bstrExtensionFile );
STDMETHOD (ListExtensionFiles)( VARIANT FAR* bstrBuffer ); protected: HRESULT CIISWebService::ConvertArrayToMultiSZ( VARIANT varSafeArray, WCHAR** pszServerBindings );
IADs FAR * _pADs;
LPWSTR _pszServerName; LPWSTR _pszMetaBasePath; BOOL _fDispInitialized;
CAggregateeDispMgr FAR * _pDispMgr; CCredentials _Credentials; IMSAdminBase *_pAdminBase; //interface pointer
};
|