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

53 lines
1.7 KiB
C++

//////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// 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