136 lines
3.6 KiB
Plaintext
136 lines
3.6 KiB
Plaintext
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1998.
|
|
//
|
|
// File:
|
|
// UniSrgt.idl
|
|
//
|
|
// Contents:
|
|
// Definition of (currently) private unified surrogate interfaces
|
|
//
|
|
// History:
|
|
// WilfR 03-31-98 Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
cpp_quote("//+-----------------------------------------------------------------")
|
|
cpp_quote("//")
|
|
cpp_quote("// Microsoft Windows")
|
|
cpp_quote("// Copyright (C) Microsoft Corporation, 1992 - 1998.")
|
|
cpp_quote("//")
|
|
cpp_quote("//------------------------------------------------------------------")
|
|
|
|
#ifndef DO_NO_IMPORTS
|
|
import "wtypes.idl";
|
|
import "objidl.idl";
|
|
import "unknwn.idl";
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
* Surrogate Services Interfaces *
|
|
****************************************************************************/
|
|
|
|
|
|
//
|
|
// ISurrogateService2
|
|
//
|
|
[
|
|
object,
|
|
local,
|
|
uuid(000001da-0000-0000-C000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISurrogateService2 : ISurrogateService
|
|
{
|
|
HRESULT PauseProcess();
|
|
HRESULT ResumeProcess();
|
|
}
|
|
|
|
|
|
/****************************************************************************
|
|
* OLE32 Interface *
|
|
****************************************************************************/
|
|
|
|
//
|
|
// IPAControl
|
|
//
|
|
[
|
|
object,
|
|
local,
|
|
uuid(000001d2-0000-0000-C000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IPAControl : IUnknown
|
|
{
|
|
ULONG AddRefOnProcess();
|
|
ULONG ReleaseRefOnProcess();
|
|
void PendingInit();
|
|
void ServicesReady();
|
|
HRESULT SuspendApplication( [in] REFGUID rguidApplID );
|
|
HRESULT PendingApplication( [in] REFGUID rguidApplID );
|
|
HRESULT ResumeApplication( [in] REFGUID rguidApplID );
|
|
HRESULT SuspendAll();
|
|
HRESULT ResumeAll();
|
|
HRESULT ForcedShutdown();
|
|
HRESULT SetIdleTimeoutToZero();
|
|
HRESULT SetObjectCountAtIdleTime( [in] DWORD dwOIDCount );
|
|
}
|
|
|
|
|
|
/****************************************************************************
|
|
* COMSVCS Interfaces *
|
|
****************************************************************************/
|
|
|
|
//
|
|
// IServicesSink
|
|
//
|
|
[
|
|
object,
|
|
local,
|
|
uuid(000001d3-0000-0000-C000-000000000046),
|
|
pointer_default(unique)
|
|
]
|
|
interface IServicesSink : IUnknown
|
|
{
|
|
void ApplicationLaunch( [in] REFGUID rguidApplID,
|
|
[in] ApplicationType appType );
|
|
void ApplicationFree( [in] REFGUID rguidApplID );
|
|
void ProcessFree();
|
|
|
|
HRESULT PauseApplication();
|
|
HRESULT ResumeApplication();
|
|
}
|
|
|
|
|
|
/****************************************************************************
|
|
* Surrogate APIs *
|
|
****************************************************************************/
|
|
|
|
//
|
|
// CoRegisterSurrogateEx
|
|
//
|
|
// Note: For now we re-use the ISurrogate interface -- The LoadDllServer
|
|
// method will never be called.
|
|
//
|
|
cpp_quote ("STDAPI CoRegisterSurrogateEx (REFGUID rguidProcessID, ")
|
|
cpp_quote (" ISurrogate* pSrgt); ")
|
|
|
|
//
|
|
// CoLoadServices
|
|
//
|
|
cpp_quote ("STDAPI CoLoadServices (REFGUID rguidProcessID, ")
|
|
cpp_quote (" IPAControl* pPAControl, ")
|
|
cpp_quote (" REFIID riid, void **ppv ); ")
|
|
|
|
//
|
|
// CoLoadServices Function typedef
|
|
//
|
|
cpp_quote ("typedef HRESULT (STDAPICALLTYPE *FN_CoLoadServices) ")
|
|
cpp_quote (" (REFGUID rguidProcessID, ")
|
|
cpp_quote (" IPAControl* pPAControl, ")
|
|
cpp_quote (" REFIID riid, void **ppv ); ")
|