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.

88 lines
2.6 KiB

  1. /************************** Om ***********************************
  2. ******************************************************************
  3. *
  4. * Server Includes.
  5. *
  6. * AUTHOR: Guru Datta Venkatarama
  7. *
  8. * HISTORY:
  9. * Created : 02/11/97
  10. *
  11. *
  12. * SUMMARY:
  13. *
  14. ******************************************************************
  15. (c) Microsoft 1997 - All right reserved.
  16. ******************************************************************/
  17. #include "ifacesvr.h"
  18. #ifndef _SERVER_PLUG_IN_
  19. #define _SERVER_PLUG_IN_
  20. /*------------------------------------------------------------
  21. ** Server Class Factory
  22. *
  23. * DESCRIPTION : ClassFactory Object for the In Proc Server
  24. *
  25. * AUTHOR : Guru Datta Venkatarama
  26. * 02/11/97 15:47:32 (PST)
  27. *
  28. ------------------------------------------------------------*/
  29. class CServerClassFactory : public IClassFactory
  30. {
  31. protected:
  32. ULONG m_ServerCFactory_refcount; // Object reference count
  33. public:
  34. // constructor
  35. CServerClassFactory(void);
  36. // destructor
  37. ~CServerClassFactory(void);
  38. // IUnknown methods
  39. STDMETHODIMP QueryInterface(REFIID, PPVOID);
  40. STDMETHODIMP_(ULONG) AddRef(void);
  41. STDMETHODIMP_(ULONG) Release(void);
  42. // IClassFactory methods
  43. STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, PPVOID);
  44. STDMETHODIMP LockServer(BOOL);
  45. };
  46. /*------------------------------------------------------------
  47. ** Property Sheet Class on the Plug in server
  48. *
  49. * AUTHOR : Guru Datta Venkatarama
  50. * 02/11/97 14:52:23 (PST)
  51. *
  52. ------------------------------------------------------------*/
  53. class CDIGameCntrlPropSheet : public IDIGameCntrlPropSheet
  54. {
  55. friend CServerClassFactory;
  56. private:
  57. DWORD m_cProperty_refcount;
  58. // tpCPluginHandler m_pHandler;
  59. public:
  60. CDIGameCntrlPropSheet(void);
  61. ~CDIGameCntrlPropSheet(void);
  62. // IUnknown methods
  63. STDMETHODIMP QueryInterface(REFIID, PPVOID);
  64. STDMETHODIMP_(ULONG) AddRef(void);
  65. STDMETHODIMP_(ULONG) Release(void);
  66. // CImpIServerProperty methods
  67. // %%% debug %%% add more methods here for fully modeless operation ?
  68. STDMETHODIMP GetSheetInfo(LPDIGCSHEETINFO *lpSheetInfo);
  69. STDMETHODIMP GetPageInfo (LPDIGCPAGEINFO *lpPageInfo );
  70. STDMETHODIMP SetID(USHORT nID);
  71. STDMETHODIMP_(USHORT) GetID(void);
  72. };
  73. // ----------------------------------------------------------
  74. inline void SetServerRefCounter(UINT l_setval);
  75. inline UINT GetServerRefCounter(void);
  76. inline UINT DllServerRelease(void);
  77. inline UINT DllServerAddRef(void);
  78. #endif
  79. //---------------------------------------------------------------EOF