Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1998.
  5. //
  6. // File: Dll.h
  7. //
  8. // Contents: Main Dll api and Class Factory interface
  9. //
  10. // Classes: CClassFactory
  11. //
  12. // Notes:
  13. //
  14. // History: 05-Nov-97 rogerg Created.
  15. //
  16. //--------------------------------------------------------------------------
  17. #ifndef _ONESTOPDLL_H
  18. #define _ONESTOPDLL_H
  19. class CClassFactory : public IClassFactory
  20. {
  21. protected:
  22. ULONG m_cRef;
  23. public:
  24. CClassFactory();
  25. ~CClassFactory();
  26. //IUnknown members
  27. STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
  28. STDMETHODIMP_(ULONG) AddRef();
  29. STDMETHODIMP_(ULONG) Release();
  30. //IClassFactory members
  31. STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID FAR *);
  32. STDMETHODIMP LockServer(BOOL);
  33. };
  34. typedef CClassFactory *LPCClassFactory;
  35. // todo: need helper functions for creating and releasing
  36. // structure so each function doesn't have to call it.
  37. #ifdef _UNUSED
  38. class COneStopDllObject : public IServiceProvider
  39. {
  40. private:
  41. ULONG m_cRef;
  42. public:
  43. COneStopDllObject();
  44. ~COneStopDllObject();
  45. //IUnknown members
  46. STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
  47. STDMETHODIMP_(ULONG) AddRef();
  48. STDMETHODIMP_(ULONG) Release();
  49. // IServiceProvider Methods
  50. STDMETHODIMP QueryService(REFGUID guidService,REFIID riid,void** ppv);
  51. };
  52. typedef COneStopDllObject *LPCOneStopDllObject;
  53. #endif // _UNUSED
  54. #endif // _ONESTOPDLL_H