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

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