53 lines
1.7 KiB
C++
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
|
|
|