windows-nt/Source/XPSP1/NT/inetsrv/iis/inc/package.h
2020-09-26 16:20:57 +08:00

139 lines
3.9 KiB
C

//*****************************************************************************
//
// Microsoft Viper 97 (Microsoft Confidential)
// Copyright 1997 Microsoft Corporation. All Rights Reserved.
//
// Project: MTxEx.DLL
// Module: Package.H
// Description: IMTSPackage et al header
// Author: wilfr
// Create: 03/13/97
//-----------------------------------------------------------------------------
// Notes:
//
// none
//
//-----------------------------------------------------------------------------
// Issues:
//
// UNDONE: these methods accept a flag indicating the system package. Determining the
// system package should be done by a lookup in our catalog instead.
//
//-----------------------------------------------------------------------------
// Architecture:
//
// This class is a result of a CoCI -- must be done from the MTA or CoCI will fail
//
//******************************************************************************
#ifndef _Package_H_
#define _Package_H_
#include <objbase.h>
//
// IMTSPackageControl callback interface (NOTE: this is a local interface only and therefore
// does not require HRESULTs as retvals.
//
DEFINE_GUID( IID_IMTSPackageControl, 0x51372af1,
0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
DECLARE_INTERFACE_( IMTSPackageControl, IUnknown )
{
// called when shutdown idle time has lapsed
STDMETHOD_(void, IdleTimeExpiredForShutdown)( THIS ) PURE;
// called when adminstrator executes "Shutdown all server processes" from MTS Explorer.
STDMETHOD_(void, ForcedShutdownRequested)( THIS ) PURE;
};
//
// IMTSPackage
//
DEFINE_GUID( IID_IMTSPackage, 0x51372af2,
0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
DECLARE_INTERFACE_( IMTSPackage, IUnknown )
{
STDMETHOD(LoadPackageByGUID)( THIS_ GUID guidPackage ) PURE;
STDMETHOD(LoadPackageByName)( THIS_ BSTR bstrPackage ) PURE;
STDMETHOD(Run)( THIS_ IMTSPackageControl* pControl ) PURE;
STDMETHOD(Shutdown)( THIS_ BOOL bForced ) PURE;
};
//
// IThreadEvents
//
DEFINE_GUID( IID_IThreadEvents, 0x51372af9,
0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
DECLARE_INTERFACE_( IThreadEvents, IUnknown )
{
STDMETHOD(OnStartup)(THIS) PURE;
STDMETHOD(OnShutdown)(THIS) PURE;
};
//
// IThreadEventSource
//
DEFINE_GUID( IID_IThreadEventSource, 0x51372afa,
0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
DECLARE_INTERFACE_( IThreadEventSource, IUnknown )
{
// Register a thread startup callback
STDMETHOD(RegisterThreadEventSink)(THIS_ IThreadEvents* psink) PURE;
};
//
// IFailfastControl
//
DEFINE_GUID( IID_IFailfastControl, 0x51372af8,
0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
DECLARE_INTERFACE_( IFailfastControl, IUnknown )
{
// gets configuration for runtime handling of application errors
STDMETHOD(GetApplFailfast)( THIS_ BOOL* bFailfast ) PURE;
// sets configuration for runtime handling of application errors
STDMETHOD(SetApplFailfast)( THIS_ BOOL bFailfast ) PURE;
};
//
// INonMTSActivation (51372afb-cae7-11cf-be81-00aa00a2fa25)
//
DEFINE_GUID( IID_INonMTSActivation, 0x51372afb,
0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
DECLARE_INTERFACE_( INonMTSActivation, IUnknown )
{
// TRUE (default) allows MTS to CoCI using CLSCTX_SERVER vs. CLSCTX_INPROC_SERVER only
STDMETHOD(OutOfProcActivationAllowed)( THIS_ BOOL bOutOfProcOK ) PURE;
};
//
// IImpersonationControl (51372aff-cae7-11cf-be81-00aa00a2fa25)
//
DEFINE_GUID( IID_IImpersonationControl, 0x51372aff,
0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
DECLARE_INTERFACE_( IImpersonationControl, IUnknown )
{
// FALSE (default) tells us that our base clients may use impersonation
STDMETHOD(ClientsImpersonate)( THIS_ BOOL bClientsImpersonate ) PURE;
};
// CLSID_MTSPackage
DEFINE_GUID( CLSID_MTSPackage, 0x51372af3,
0xcae7, 0x11cf, 0xbe, 0x81, 0x00, 0xaa, 0x00, 0xa2, 0xfa, 0x25);
#endif