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.

144 lines
4.9 KiB

  1. #ifndef UNIX
  2. #pragma pack(push, 8)
  3. #endif
  4. //+------------------------------------------------------------------------
  5. //
  6. // Microsoft Windows
  7. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  8. //
  9. // File: objext.h
  10. //
  11. // Contents: header file for Object Extensions interfaces
  12. //
  13. // 6/24/96 (dbau) removed IServiceProvider (to servprov.h)
  14. //-------------------------------------------------------------------------
  15. #ifndef __OBJEXT_H
  16. #define __OBJEXT_H
  17. #ifndef BEGIN_INTERFACE
  18. #define BEGIN_INTERFACE
  19. #endif
  20. ///////////////////////////////////////////////////////////////////////////
  21. //
  22. // forward declares
  23. //
  24. ///////////////////////////////////////////////////////////////////////////
  25. #ifdef __cplusplus
  26. interface IFilterMembers;
  27. #else // __cplusplus
  28. typedef interface IFilterMembers IFilterMembers;
  29. #endif // __cplusplus
  30. ///////////////////////////////////////////////////////////////////////////
  31. //
  32. // Object Extension Interfaces
  33. //
  34. ///////////////////////////////////////////////////////////////////////////
  35. ///////////////////////////////////////////////////////////////////////////
  36. //
  37. // Standard Services and Interfaces
  38. //
  39. ///////////////////////////////////////////////////////////////////////////
  40. //-------------------------------------------------------------------------
  41. // SLicensedClassManager
  42. // VBA provides this service to it's components and hosts to optimize
  43. // registry access and to insulate them from licensing concerns
  44. //
  45. // interfaces implemented:
  46. // ILicensedClassManager
  47. //-------------------------------------------------------------------------
  48. // { 6d5140d0-7436-11ce-8034-00aa006009fa }
  49. DEFINE_GUID(IID_IRequireClasses, 0x6d5140d0, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
  50. #undef INTERFACE
  51. #define INTERFACE IRequireClasses
  52. DECLARE_INTERFACE_(IRequireClasses, IUnknown)
  53. {
  54. BEGIN_INTERFACE
  55. // *** IUnknown methods ***
  56. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  57. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  58. STDMETHOD_(ULONG, Release)(THIS) PURE;
  59. // *** IRequireClasses methods ***
  60. STDMETHOD(CountRequiredClasses)(THIS_
  61. /* [out] */ ULONG * pcClasses ) PURE;
  62. STDMETHOD(GetRequiredClasses)(THIS_
  63. /* [in] */ ULONG index,
  64. /* [out] */ CLSID * pclsid ) PURE;
  65. };
  66. // { 6d5140d4-7436-11ce-8034-00aa006009fa }
  67. DEFINE_GUID(IID_ILicensedClassManager, 0x6d5140d4, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
  68. #define SID_SLicensedClassManager IID_ILicensedClassManager
  69. #undef INTERFACE
  70. #define INTERFACE ILicensedClassManager
  71. DECLARE_INTERFACE_(ILicensedClassManager, IUnknown)
  72. {
  73. BEGIN_INTERFACE
  74. // *** IUnknown methods ***
  75. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  76. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  77. STDMETHOD_(ULONG, Release)(THIS) PURE;
  78. // *** ILicensedClassManager methods ***
  79. STDMETHOD(OnChangeInRequiredClasses)(THIS_
  80. /* [in] */ IRequireClasses *pRequireClasses) PURE;
  81. };
  82. //-------------------------------------------------------------------------
  83. // SLocalRegistry Service
  84. // VBA provides this service to it's components and hosts to optimize
  85. // registry access and to insulate them from licensing concerns
  86. //
  87. // interfaces implemented:
  88. // ILocalRegistry
  89. //-------------------------------------------------------------------------
  90. // { 6d5140d3-7436-11ce-8034-00aa006009fa }
  91. DEFINE_GUID(IID_ILocalRegistry, 0x6d5140d3, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
  92. #define SID_SLocalRegistry IID_ILocalRegistry
  93. #undef INTERFACE
  94. #define INTERFACE ILocalRegistry
  95. DECLARE_INTERFACE_(ILocalRegistry, IUnknown)
  96. {
  97. BEGIN_INTERFACE
  98. // *** IUnknown methods ***
  99. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  100. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  101. STDMETHOD_(ULONG, Release)(THIS) PURE;
  102. // *** ILocalRegistry methods ***
  103. STDMETHOD(CreateInstance)(THIS_
  104. /* [in] */ CLSID clsid,
  105. /* [in] */ IUnknown * punkOuter,
  106. /* [in] */ REFIID riid,
  107. /* [in] */ DWORD dwFlags,
  108. /* [out] */ void ** ppvObj ) PURE;
  109. STDMETHOD(GetTypeLibOfClsid)(THIS_
  110. /* [in] */ CLSID clsid,
  111. /* [out] */ ITypeLib ** ptlib ) PURE;
  112. STDMETHOD(GetClassObjectOfClsid)(THIS_
  113. /* [in] */ REFCLSID clsid,
  114. /* [in] */ DWORD dwClsCtx,
  115. /* [in] */ LPVOID lpReserved,
  116. /* [in] */ REFIID riid,
  117. /* [out] */ void ** ppcClassObject ) PURE;
  118. };
  119. #endif // __OBJEXT_H
  120. #ifndef UNIX
  121. #pragma pack(pop)
  122. #endif