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.

91 lines
3.0 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1993.
  5. //
  6. // File: machact.idl
  7. //
  8. // Contents: Definition of private interfaces for registration protocol between
  9. // the initial process activator in a COM+ surrogate and the machine
  10. // activator in RPCSS.
  11. //
  12. // The initial process activator is never in an STA and RPCSS is a raw RPC
  13. // server therefore it is convenient to make these raw RPC interfaces
  14. //
  15. // History: 02-Apr-98 SatishT Created
  16. //
  17. //--------------------------------------------------------------------------
  18. import "wtypes.idl";
  19. import "obase.idl";
  20. typedef struct _ProcessActivatorToken
  21. {
  22. GUID ProcessGUID;
  23. IPID ActivatorIPID;
  24. DWORD dwFlags;
  25. } ProcessActivatorToken;
  26. //+-------------------------------------------------------------------------
  27. //
  28. // Interface: IMachineActivatorControl
  29. //
  30. // Synopsis: Registration interface for procvess activators to notify SCM
  31. // about process startup and shutdown. There can be only one COM+
  32. // surrogate process for a given ProcessGUID per Session+WindowStation
  33. // since COM+ surrogates are required to have RunAs specifications
  34. //
  35. // History: 02-Apr-98 SatishT Created
  36. //
  37. //--------------------------------------------------------------------------
  38. [ uuid(c6f3ee72-ce7e-11d1-b71e-00c04fc3111a),
  39. version(1.0),
  40. pointer_default(unique)
  41. ]
  42. interface IMachineActivatorControl
  43. {
  44. typedef [context_handle] void *PHPROCESS;
  45. //
  46. // Server to SCM methods.
  47. //
  48. HRESULT ProcessActivatorStarted(
  49. [in] handle_t hRpc,
  50. [in] PHPROCESS phProcess,
  51. [in] ProcessActivatorToken * pActToken,
  52. [out] error_status_t * prpcstat);
  53. HRESULT ProcessActivatorInitializing(
  54. [in] handle_t hRpc,
  55. [in] PHPROCESS phProcess,
  56. [out] error_status_t * prpcstat);
  57. HRESULT ProcessActivatorReady(
  58. [in] handle_t hRpc,
  59. [in] PHPROCESS phProcess,
  60. [out] error_status_t * prpcstat);
  61. HRESULT ProcessActivatorStopped(
  62. [in] handle_t hRpc,
  63. [in] PHPROCESS phProcess,
  64. [out] error_status_t * prpcstat);
  65. HRESULT ProcessActivatorPaused(
  66. [in] handle_t hRpc,
  67. [in] PHPROCESS phProcess,
  68. [out] error_status_t * prpcstat);
  69. HRESULT ProcessActivatorResumed(
  70. [in] handle_t hRpc,
  71. [in] PHPROCESS phProcess,
  72. [out] error_status_t * prpcstat);
  73. HRESULT ProcessActivatorUserInitializing(
  74. [in] handle_t hRpc,
  75. [in] PHPROCESS phProcess,
  76. [out] error_status_t * prpcstat);
  77. }