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.

135 lines
3.8 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1998.
  5. //
  6. // File:
  7. // UniSrgt.idl
  8. //
  9. // Contents:
  10. // Definition of (currently) private unified surrogate interfaces
  11. //
  12. // History:
  13. // WilfR 03-31-98 Created
  14. //
  15. //--------------------------------------------------------------------------
  16. cpp_quote("//+-----------------------------------------------------------------")
  17. cpp_quote("//")
  18. cpp_quote("// Microsoft Windows")
  19. cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1998.")
  20. cpp_quote("//")
  21. cpp_quote("//------------------------------------------------------------------")
  22. #ifndef DO_NO_IMPORTS
  23. import "wtypes.idl";
  24. import "objidl.idl";
  25. import "unknwn.idl";
  26. #endif
  27. /****************************************************************************
  28. * Surrogate Services Interfaces *
  29. ****************************************************************************/
  30. //
  31. // ISurrogateService2
  32. //
  33. [
  34. object,
  35. local,
  36. uuid(000001da-0000-0000-C000-000000000046),
  37. pointer_default(unique)
  38. ]
  39. interface ISurrogateService2 : ISurrogateService
  40. {
  41. HRESULT PauseProcess();
  42. HRESULT ResumeProcess();
  43. }
  44. /****************************************************************************
  45. * OLE32 Interface *
  46. ****************************************************************************/
  47. //
  48. // IPAControl
  49. //
  50. [
  51. object,
  52. local,
  53. uuid(000001d2-0000-0000-C000-000000000046),
  54. pointer_default(unique)
  55. ]
  56. interface IPAControl : IUnknown
  57. {
  58. ULONG AddRefOnProcess();
  59. ULONG ReleaseRefOnProcess();
  60. void PendingInit();
  61. void ServicesReady();
  62. HRESULT SuspendApplication( [in] REFGUID rguidApplID );
  63. HRESULT PendingApplication( [in] REFGUID rguidApplID );
  64. HRESULT ResumeApplication( [in] REFGUID rguidApplID );
  65. HRESULT SuspendAll();
  66. HRESULT ResumeAll();
  67. HRESULT ForcedShutdown();
  68. HRESULT SetIdleTimeoutToZero();
  69. HRESULT SetObjectCountAtIdleTime( [in] DWORD dwOIDCount );
  70. }
  71. /****************************************************************************
  72. * COMSVCS Interfaces *
  73. ****************************************************************************/
  74. //
  75. // IServicesSink
  76. //
  77. [
  78. object,
  79. local,
  80. uuid(000001d3-0000-0000-C000-000000000046),
  81. pointer_default(unique)
  82. ]
  83. interface IServicesSink : IUnknown
  84. {
  85. void ApplicationLaunch( [in] REFGUID rguidApplID,
  86. [in] ApplicationType appType );
  87. void ApplicationFree( [in] REFGUID rguidApplID );
  88. void ProcessFree();
  89. HRESULT PauseApplication();
  90. HRESULT ResumeApplication();
  91. }
  92. /****************************************************************************
  93. * Surrogate APIs *
  94. ****************************************************************************/
  95. //
  96. // CoRegisterSurrogateEx
  97. //
  98. // Note: For now we re-use the ISurrogate interface -- The LoadDllServer
  99. // method will never be called.
  100. //
  101. cpp_quote ("STDAPI CoRegisterSurrogateEx (REFGUID rguidProcessID, ")
  102. cpp_quote (" ISurrogate* pSrgt); ")
  103. //
  104. // CoLoadServices
  105. //
  106. cpp_quote ("STDAPI CoLoadServices (REFGUID rguidProcessID, ")
  107. cpp_quote (" IPAControl* pPAControl, ")
  108. cpp_quote (" REFIID riid, void **ppv ); ")
  109. //
  110. // CoLoadServices Function typedef
  111. //
  112. cpp_quote ("typedef HRESULT (STDAPICALLTYPE *FN_CoLoadServices) ")
  113. cpp_quote (" (REFGUID rguidProcessID, ")
  114. cpp_quote (" IPAControl* pPAControl, ")
  115. cpp_quote (" REFIID riid, void **ppv ); ")