Leaked source code of windows server 2003
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.

125 lines
2.4 KiB

  1. /*++
  2. Copyright (C) 1996-2001 Microsoft Corporation
  3. Module Name:
  4. ClassFac.h
  5. Abstract:
  6. History:
  7. --*/
  8. #ifndef _ServerClassFactory_H
  9. #define _ServerClassFactory_H
  10. /******************************************************************************
  11. *
  12. * Name:
  13. *
  14. *
  15. * Description:
  16. *
  17. *
  18. *****************************************************************************/
  19. template <class Object,class ObjectInterface>
  20. class CServerClassFactory : public IClassFactory
  21. {
  22. private:
  23. long m_ReferenceCount ;
  24. protected:
  25. public:
  26. CServerClassFactory () ;
  27. ~CServerClassFactory () ;
  28. //IUnknown members
  29. STDMETHODIMP QueryInterface ( REFIID , LPVOID FAR * ) ;
  30. STDMETHODIMP_( ULONG ) AddRef () ;
  31. STDMETHODIMP_( ULONG ) Release () ;
  32. //IClassFactory members
  33. STDMETHODIMP CreateInstance ( LPUNKNOWN , REFIID , LPVOID FAR * ) ;
  34. STDMETHODIMP LockServer ( BOOL ) ;
  35. };
  36. /******************************************************************************
  37. *
  38. * Name:
  39. *
  40. *
  41. * Description:
  42. *
  43. *
  44. *****************************************************************************/
  45. class CServerProvSubSysClassFactory : public IClassFactory
  46. {
  47. private:
  48. long m_ReferenceCount ;
  49. protected:
  50. public:
  51. CServerProvSubSysClassFactory () ;
  52. ~CServerProvSubSysClassFactory () ;
  53. //IUnknown members
  54. STDMETHODIMP QueryInterface ( REFIID , LPVOID FAR * ) ;
  55. STDMETHODIMP_( ULONG ) AddRef () ;
  56. STDMETHODIMP_( ULONG ) Release () ;
  57. //IClassFactory members
  58. STDMETHODIMP CreateInstance ( LPUNKNOWN , REFIID , LPVOID FAR * ) ;
  59. STDMETHODIMP LockServer ( BOOL ) ;
  60. };
  61. /******************************************************************************
  62. *
  63. * Name:
  64. *
  65. *
  66. * Description:
  67. *
  68. *
  69. *****************************************************************************/
  70. class CServerProvRefreshManagerClassFactory : public IClassFactory
  71. {
  72. private:
  73. long m_ReferenceCount ;
  74. protected:
  75. public:
  76. CServerProvRefreshManagerClassFactory () ;
  77. ~CServerProvRefreshManagerClassFactory () ;
  78. //IUnknown members
  79. STDMETHODIMP QueryInterface ( REFIID , LPVOID FAR * ) ;
  80. STDMETHODIMP_( ULONG ) AddRef () ;
  81. STDMETHODIMP_( ULONG ) Release () ;
  82. //IClassFactory members
  83. STDMETHODIMP CreateInstance ( LPUNKNOWN , REFIID , LPVOID FAR * ) ;
  84. STDMETHODIMP LockServer ( BOOL ) ;
  85. };
  86. #include <classfac.cpp>
  87. #endif // _ServerClassFactory_H