windows-nt/Source/XPSP1/NT/com/ole32/idl/internal/srgtprot.idl
2020-09-26 16:20:57 +08:00

92 lines
3 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// 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);
}