windows-nt/Source/XPSP1/NT/admin/wmi/wbem/adapters/oledb/classfac.h

53 lines
1.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Microsoft WMIOLE DB Provider
// (C) Copyright 1999 Microsoft Corporation. All Rights Reserved.
//
// Class Definitions for CClassFactory and DLL Entry Points
//
//////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef _CLASSFAC_H_
#define _CLASSFAC_H_
//////////////////////////////////////////////////////////////////////////////////////////////////////////
class CClassFactory : public IClassFactory
{
protected:
ULONG m_cRef; //Reference count
public:
CClassFactory(void);
~CClassFactory(void);
STDMETHODIMP QueryInterface(REFIID, LPVOID *); //Request an Interface
STDMETHODIMP_(ULONG) AddRef(void); //Increments the Reference count
STDMETHODIMP_(ULONG) Release(void); //Decrements the Reference count
STDMETHODIMP LockServer(BOOL); //Lock Object so that it can not be unloaded
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////
class CEnumeratorClassFactory : public CClassFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////
class CDataSourceClassFactory : public CClassFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////
class CErrorLookupClassFactory : public CClassFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
};
#endif