//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1993. // // File: machact.idl // // Contents: Definition of private interfaces for registration protocol between // the initial process activator in a COM+ surrogate and the machine // activator in RPCSS. // // The initial process activator is never in an STA and RPCSS is a raw RPC // server therefore it is convenient to make these raw RPC interfaces // // History: 02-Apr-98 SatishT Created // //-------------------------------------------------------------------------- import "wtypes.idl"; import "obase.idl"; typedef struct _ProcessActivatorToken { GUID ProcessGUID; IPID ActivatorIPID; DWORD dwFlags; } ProcessActivatorToken; //+------------------------------------------------------------------------- // // Interface: IMachineActivatorControl // // Synopsis: Registration interface for procvess activators to notify SCM // about process startup and shutdown. There can be only one COM+ // surrogate process for a given ProcessGUID per Session+WindowStation // since COM+ surrogates are required to have RunAs specifications // // History: 02-Apr-98 SatishT Created // //-------------------------------------------------------------------------- [ uuid(c6f3ee72-ce7e-11d1-b71e-00c04fc3111a), version(1.0), pointer_default(unique) ] interface IMachineActivatorControl { typedef [context_handle] void *PHPROCESS; // // Server to SCM methods. // HRESULT ProcessActivatorStarted( [in] handle_t hRpc, [in] PHPROCESS phProcess, [in] ProcessActivatorToken * pActToken, [out] error_status_t * prpcstat); HRESULT ProcessActivatorInitializing( [in] handle_t hRpc, [in] PHPROCESS phProcess, [out] error_status_t * prpcstat); HRESULT ProcessActivatorReady( [in] handle_t hRpc, [in] PHPROCESS phProcess, [out] error_status_t * prpcstat); HRESULT ProcessActivatorStopped( [in] handle_t hRpc, [in] PHPROCESS phProcess, [out] error_status_t * prpcstat); HRESULT ProcessActivatorPaused( [in] handle_t hRpc, [in] PHPROCESS phProcess, [out] error_status_t * prpcstat); HRESULT ProcessActivatorResumed( [in] handle_t hRpc, [in] PHPROCESS phProcess, [out] error_status_t * prpcstat); HRESULT ProcessActivatorUserInitializing( [in] handle_t hRpc, [in] PHPROCESS phProcess, [out] error_status_t * prpcstat); }