windows-nt/Source/XPSP1/NT/admin/wmi/wbem/scripting/classfac.h
2020-09-26 16:20:57 +08:00

60 lines
1.3 KiB
C++

//***************************************************************************
//
// Copyright (c) 1998-1999 Microsoft Corporation
//
// classfac.h
//
// alanbos 13-Feb-98 Created.
//
// Genral purpose include file.
//
//***************************************************************************
#ifndef _CLASSFAC_H_
#define _CLASSFAC_H_
typedef LPVOID * PPVOID;
// These variables keep track of when the module can be unloaded
extern long g_cObj;
extern ULONG g_cLock;
//***************************************************************************
//
// CLASS NAME:
//
// CSWbemFactory
//
// DESCRIPTION:
//
// Class factory for the CSWbemLocator and CSWbemNamedValueBag classes.
//
//***************************************************************************
class CSWbemFactory : public IClassFactory
{
protected:
long m_cRef;
int m_iType;
public:
CSWbemFactory(int iType);
~CSWbemFactory(void);
enum {LOCATOR, CONTEXT, OBJECTPATH, PARSEDN, LASTERROR, SINK, DATETIME,
REFRESHER};
//IUnknown members
STDMETHODIMP QueryInterface(REFIID, LPVOID*);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//IClassFactory members
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
STDMETHODIMP LockServer(BOOL);
};
#endif