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.

87 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name :
  4. wamccf.hxx
  5. Abstract:
  6. Header file for the WAM Custom Class Factory
  7. Author:
  8. Dmitry Robsman ( dmitryr ) 07-Apr-1997
  9. Environment:
  10. User Mode - Win32
  11. Project:
  12. Wam DLL
  13. --*/
  14. # ifndef _WAMCCF_HXX_
  15. # define _WAMCCF_HXX_
  16. /************************************************************
  17. * Include Headers
  18. ************************************************************/
  19. # include "isapip.hxx"
  20. # include "isapi.hxx"
  21. # include "wam.h"
  22. /************************************************************
  23. * Type Definitions
  24. ************************************************************/
  25. /*++
  26. class WAM_CCF
  27. Class definition for the WAM Custom Class Factory object.
  28. --*/
  29. class WAM_CCF : public IClassFactory
  30. {
  31. public:
  32. WAM_CCF();
  33. ~WAM_CCF();
  34. //IUnknown members
  35. STDMETHODIMP QueryInterface(REFIID, LPVOID *);
  36. STDMETHODIMP_(ULONG) AddRef();
  37. STDMETHODIMP_(ULONG) Release();
  38. //IClassFactory members
  39. STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID *);
  40. STDMETHODIMP LockServer(BOOL);
  41. private:
  42. ULONG m_cRef;
  43. IClassFactory *m_pcfAtl; // original ATL class factory for WAM
  44. };
  45. /*++
  46. class WAM_CCF_MODULE
  47. Class definition for the WAM Custom Class Factory Module
  48. object. This object is similar to CComModule -- it covers
  49. creation of the class factory.
  50. --*/
  51. class WAM_CCF_MODULE
  52. {
  53. public:
  54. WAM_CCF_MODULE();
  55. ~WAM_CCF_MODULE();
  56. HRESULT Init();
  57. HRESULT Term();
  58. HRESULT GetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv);
  59. private:
  60. WAM_CCF *m_pCF;
  61. };
  62. # endif // _WAMCCF_HXX_
  63. /************************ End of File ***********************/