CLASSF.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //=--------------------------------------------------------------------------=
  2. // ClassF.H
  3. //=--------------------------------------------------------------------------=
  4. // Copyright 1995-1997 Microsoft Corporation.  All Rights Reserved.
  5. //
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
  7. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  8. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
  9. // PARTICULAR PURPOSE.
  10. //=--------------------------------------------------------------------------=
  11. //
  12. // header for the ClassFactory Object.  we support IClassFactory and 
  13. // IClassFactory2
  14. //
  15. #ifndef _CLASSF_H_
  16. #include "olectl.h"
  17. class CClassFactory : public IClassFactory2 {
  18.   public:
  19.     // IUnknown methods
  20.     //
  21.     STDMETHOD(QueryInterface)(REFIID riid, void **ppvObjOut);
  22.     STDMETHOD_(ULONG, AddRef)(void);
  23.     STDMETHOD_(ULONG, Release)(void);
  24.     // IClassFactory methods
  25.     //
  26.     STDMETHOD(CreateInstance)(IUnknown *pUnkOuter, REFIID riid, void **ppbObjOut);
  27.     STDMETHOD(LockServer)(BOOL fLock);
  28.     // IClassFactory2 methods
  29.     //
  30.     STDMETHOD(GetLicInfo)(LICINFO *pLicInfo);
  31.     STDMETHOD(RequestLicKey)(DWORD dwReserved, BSTR *pbstrKey);
  32.     STDMETHOD(CreateInstanceLic)(IUnknown *pUnkOuter, IUnknown *pUnkReserved, REFIID riid, BSTR bstrKey, void **ppvObjOut);
  33.     CClassFactory(int iIndex);
  34.     ~CClassFactory();
  35.   private:
  36.     ULONG m_cRefs;
  37.     int   m_iIndex;
  38. };
  39. // global variable for Locks on our DLL
  40. //
  41. extern LONG g_cLocks;
  42. #define _CLASSF_H_
  43. #endif // _CLASSF_H_