//***************************************************************************** 
// 
// Microsoft Windows Media 
// Copyright (C) Microsoft Corporation. All rights reserved. 
//
// FileName:            WMSBasicPlugin.idl
//
// Abstract:
//
//*****************************************************************************

cpp_quote("//*****************************************************************************") 
cpp_quote("//") 
cpp_quote("// Microsoft Windows Media") 
cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.") 
cpp_quote("//")
cpp_quote("// Automatically generated by Midl from WMSBasicPlugin.idl" )
cpp_quote("//")
cpp_quote("// DO NOT EDIT THIS FILE.")
cpp_quote("//")
cpp_quote("//*****************************************************************************") 

import "WMSNamedValues.idl";
import "nsscore.idl";
import "WMSEventLog.idl";
import "WMSContext.idl";

cpp_quote( "EXTERN_GUID( IID_IWMSBasicPlugin, 0x66E6CE48,0xF8BB,0x4bcc,0x8F,0xD6,0x42,0xA9,0xD5,0xD3,0x28,0x71 );" )

/////////////////////////////////////////////////////////////////////////////
// IWMSBasicPlugin
[
    object,
    uuid(66E6CE48-F8BB-4bcc-8FD6-42A9D5D32871),
    helpstring("Contains core plug-in methods that are implemented by all plug-ins."),
    version(9.0),
    pointer_default(unique)
]
interface IWMSBasicPlugin : IUnknown
{
    [helpstring("Called by the server to initialize a plug-in.")] HRESULT 
    InitializePlugin( 
                [in] IWMSContext        *pServerContext,
                [in] IWMSNamedValues    *pNamedValues,
                [in] IWMSClassObject   *pClassFactory
                );

    [helpstring("Called by the server at every heartbeat interval.")] HRESULT 
    OnHeartbeat();

    [helpstring("Called by the server to retrieve a pointer to the administration interface for the plug-in.")] HRESULT 
    GetCustomAdminInterface( [out, retval] IDispatch **ppValue );

    [helpstring("Called by the server to shut down a plug-in.")] HRESULT 
    ShutdownPlugin();
    [helpstring("Called by the server to enable a plug-in.")] HRESULT 
    EnablePlugin( [in, out] long *plFlags, [in, out]long *plHeartbeatPeriod);
    [helpstring("Called by the server to disable a plug-in.")] HRESULT 
    DisablePlugin();
};





