windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/wam/wamreg/comobj.h

77 lines
1.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
// comobj.h: Definition of the WmRgSrv class
//
//////////////////////////////////////////////////////////////////////
#ifndef _WAMREG_COMOBJ_H
#define _WAMREG_COMOBJ_H
//#if !defined(AFX_COMOBJ_H__29822ABB_F302_11D0_9953_00C04FD919C1__INCLUDED_)
//#define AFX_COMOBJ_H__29822ABB_F302_11D0_9953_00C04FD919C1__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "common.h"
#include "resource.h" // main symbols
#include "iadmw.h"
#include "iiscnfg.h"
#include "iadmext.h"
/////////////////////////////////////////////////////////////////////////////
// WmRgSrv
class CWmRgSrv :
public IADMEXT
{
public:
CWmRgSrv();
~CWmRgSrv();
//DECLARE_NOT_AGGREGATABLE(WmRgSrv)
// Remove the comment from the line above if you don't want your object to
// support aggregation.
// IWmRgSrv
public:
STDMETHOD(QueryInterface)(REFIID riid, void ** ppv);
STDMETHOD_(ULONG, AddRef)();
STDMETHOD_(ULONG, Release)();
STDMETHOD(Initialize)();
STDMETHOD(EnumDcomCLSIDs)(/* [size_is][out] */CLSID *pclsidDcom, /* [in] */ DWORD dwEnumIndex);
STDMETHOD(Terminate)();
private:
// Since wamreg has only one com object. No need to use static members.
DWORD m_cSignature;
LONG m_cRef;
};
class CWmRgSrvFactory:
public IClassFactory
{
public:
CWmRgSrvFactory();
~CWmRgSrvFactory();
STDMETHOD(QueryInterface)(REFIID riid, void ** ppv);
STDMETHOD_(ULONG, AddRef)();
STDMETHOD_(ULONG, Release)();
STDMETHOD(CreateInstance)(IUnknown * pUnknownOuter, REFIID riid, void ** ppv);
STDMETHOD(LockServer)(BOOL bLock);
CWmRgSrv *m_pWmRgServiceObj;
private:
ULONG m_cRef;
};
// Global data defines.
extern CWmRgSrvFactory* g_pWmRgSrvFactory;
extern DWORD g_dwRefCount;
#endif // _WAMREG_COMOBJ_H