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.

138 lines
3.9 KiB

  1. //*****************************************************************************
  2. //
  3. // Microsoft Viper 97 (Microsoft Confidential)
  4. // Copyright 1997 Microsoft Corporation. All Rights Reserved.
  5. //
  6. // Project: MTxEx.DLL
  7. // Module: Package.H
  8. // Description: IMTSPackage et al header
  9. // Author: wilfr
  10. // Create: 03/13/97
  11. //-----------------------------------------------------------------------------
  12. // Notes:
  13. //
  14. // none
  15. //
  16. //-----------------------------------------------------------------------------
  17. // Issues:
  18. //
  19. // UNDONE: these methods accept a flag indicating the system package. Determining the
  20. // system package should be done by a lookup in our catalog instead.
  21. //
  22. //-----------------------------------------------------------------------------
  23. // Architecture:
  24. //
  25. // This class is a result of a CoCI -- must be done from the MTA or CoCI will fail
  26. //
  27. //******************************************************************************
  28. #ifndef _Package_H_
  29. #define _Package_H_
  30. #include <objbase.h>
  31. //
  32. // IMTSPackageControl callback interface (NOTE: this is a local interface only and therefore
  33. // does not require HRESULTs as retvals.
  34. //
  35. DEFINE_GUID( IID_IMTSPackageControl, 0x51372af1,
  36. 0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
  37. DECLARE_INTERFACE_( IMTSPackageControl, IUnknown )
  38. {
  39. // called when shutdown idle time has lapsed
  40. STDMETHOD_(void, IdleTimeExpiredForShutdown)( THIS ) PURE;
  41. // called when adminstrator executes "Shutdown all server processes" from MTS Explorer.
  42. STDMETHOD_(void, ForcedShutdownRequested)( THIS ) PURE;
  43. };
  44. //
  45. // IMTSPackage
  46. //
  47. DEFINE_GUID( IID_IMTSPackage, 0x51372af2,
  48. 0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
  49. DECLARE_INTERFACE_( IMTSPackage, IUnknown )
  50. {
  51. STDMETHOD(LoadPackageByGUID)( THIS_ GUID guidPackage ) PURE;
  52. STDMETHOD(LoadPackageByName)( THIS_ BSTR bstrPackage ) PURE;
  53. STDMETHOD(Run)( THIS_ IMTSPackageControl* pControl ) PURE;
  54. STDMETHOD(Shutdown)( THIS_ BOOL bForced ) PURE;
  55. };
  56. //
  57. // IThreadEvents
  58. //
  59. DEFINE_GUID( IID_IThreadEvents, 0x51372af9,
  60. 0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
  61. DECLARE_INTERFACE_( IThreadEvents, IUnknown )
  62. {
  63. STDMETHOD(OnStartup)(THIS) PURE;
  64. STDMETHOD(OnShutdown)(THIS) PURE;
  65. };
  66. //
  67. // IThreadEventSource
  68. //
  69. DEFINE_GUID( IID_IThreadEventSource, 0x51372afa,
  70. 0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
  71. DECLARE_INTERFACE_( IThreadEventSource, IUnknown )
  72. {
  73. // Register a thread startup callback
  74. STDMETHOD(RegisterThreadEventSink)(THIS_ IThreadEvents* psink) PURE;
  75. };
  76. //
  77. // IFailfastControl
  78. //
  79. DEFINE_GUID( IID_IFailfastControl, 0x51372af8,
  80. 0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
  81. DECLARE_INTERFACE_( IFailfastControl, IUnknown )
  82. {
  83. // gets configuration for runtime handling of application errors
  84. STDMETHOD(GetApplFailfast)( THIS_ BOOL* bFailfast ) PURE;
  85. // sets configuration for runtime handling of application errors
  86. STDMETHOD(SetApplFailfast)( THIS_ BOOL bFailfast ) PURE;
  87. };
  88. //
  89. // INonMTSActivation (51372afb-cae7-11cf-be81-00aa00a2fa25)
  90. //
  91. DEFINE_GUID( IID_INonMTSActivation, 0x51372afb,
  92. 0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
  93. DECLARE_INTERFACE_( INonMTSActivation, IUnknown )
  94. {
  95. // TRUE (default) allows MTS to CoCI using CLSCTX_SERVER vs. CLSCTX_INPROC_SERVER only
  96. STDMETHOD(OutOfProcActivationAllowed)( THIS_ BOOL bOutOfProcOK ) PURE;
  97. };
  98. //
  99. // IImpersonationControl (51372aff-cae7-11cf-be81-00aa00a2fa25)
  100. //
  101. DEFINE_GUID( IID_IImpersonationControl, 0x51372aff,
  102. 0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
  103. DECLARE_INTERFACE_( IImpersonationControl, IUnknown )
  104. {
  105. // FALSE (default) tells us that our base clients may use impersonation
  106. STDMETHOD(ClientsImpersonate)( THIS_ BOOL bClientsImpersonate ) PURE;
  107. };
  108. // CLSID_MTSPackage
  109. DEFINE_GUID( CLSID_MTSPackage, 0x51372af3,
  110. 0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
  111. #endif