windows-nt/Source/XPSP1/NT/inetsrv/iis/admin/wmiprov_dynamic/webservicemethod.h
2020-09-26 16:20:57 +08:00

76 lines
2 KiB
C++

/*++
Copyright (c) 1998-2001 Microsoft Corporation
Module Name:
ServiceMethod.h
Abstract:
Defines the CServiceMethod class.
All the methods in this class return HRESULTs and do not throw exceptions.
Author:
Mohit Srivastava 25-March-01
Revision History:
--*/
#ifndef _ServiceMethod_h_
#define _ServiceMethod_h_
#include "sitecreator.h"
#include "wbemservices.h"
#include "schema.h"
class CServiceMethod
{
public:
CServiceMethod(
eSC_SUPPORTED_SERVICES i_eServiceId);
~CServiceMethod();
HRESULT CreateNewSite(
LPCWSTR i_wszServerComment,
PDWORD o_pdwSiteId,
PDWORD i_pdwRequestedSiteId = NULL);
HRESULT CreateNewSite(
CWbemServices* i_pNamespace,
LPCWSTR i_wszMbPath, // needed for creating WMI return object
IWbemContext* i_pCtx, // needed for creating WMI return object
WMI_CLASS* i_pClass, // needed for creating WMI return object
WMI_METHOD* i_pMethod, // needed for creating WMI return object
IWbemClassObject* i_pInParams,
IWbemClassObject** o_ppRetObj);
HRESULT Init();
private:
HRESULT InternalGetInParams(
IWbemClassObject* i_pInParams,
VARIANT& io_refServerId,
VARIANT& io_refServerComment,
VARIANT& io_refServerBindings,
VARIANT& io_refPath);
HRESULT InternalCreateNewSite(
CWbemServices& i_refNamespace, // for formatted multisz: ServerBinding
const VARIANT& i_refServerComment,
const VARIANT& i_refServerBindings,
const VARIANT& i_refPathOfRootVirtualDir,
IIISApplicationAdmin* i_pIApplAdmin,
PDWORD o_pdwSiteId,
PDWORD i_pdwRequestedSiteId = NULL);
bool m_bInit;
CSiteCreator* m_pSiteCreator;
eSC_SUPPORTED_SERVICES m_eServiceId;
};
#endif // _ServiceMethod_h