54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
//=--------------------------------------------------------------------------=
|
|
// ClassF.H
|
|
//=--------------------------------------------------------------------------=
|
|
// Copyright 1995-1996 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
// PARTICULAR PURPOSE.
|
|
//=--------------------------------------------------------------------------=
|
|
//
|
|
// header for the ClassFactory Object. we support IClassFactory and
|
|
// IClassFactory2
|
|
//
|
|
#ifndef _CLASSF_H_
|
|
|
|
#include "olectl.h"
|
|
|
|
class CClassFactory : public IClassFactory2 {
|
|
|
|
public:
|
|
// IUnknown methods
|
|
//
|
|
STDMETHOD(QueryInterface)(REFIID riid, void **ppvObjOut);
|
|
STDMETHOD_(ULONG, AddRef)(void);
|
|
STDMETHOD_(ULONG, Release)(void);
|
|
|
|
// IClassFactory methods
|
|
//
|
|
STDMETHOD(CreateInstance)(IUnknown *pUnkOuter, REFIID riid, void **ppbObjOut);
|
|
STDMETHOD(LockServer)(BOOL fLock);
|
|
|
|
// IClassFactory2 methods
|
|
//
|
|
STDMETHOD(GetLicInfo)(LICINFO *pLicInfo);
|
|
STDMETHOD(RequestLicKey)(DWORD dwReserved, BSTR *pbstrKey);
|
|
STDMETHOD(CreateInstanceLic)(IUnknown *pUnkOuter, IUnknown *pUnkReserved, REFIID riid, BSTR bstrKey, void **ppvObjOut);
|
|
|
|
CClassFactory(int iIndex);
|
|
~CClassFactory();
|
|
|
|
private:
|
|
ULONG m_cRefs;
|
|
int m_iIndex;
|
|
};
|
|
|
|
|
|
// global variable for Locks on our DLL
|
|
//
|
|
extern LONG g_cLocks;
|
|
|
|
#define _CLASSF_H_
|
|
#endif // _CLASSF_H_
|