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.
 
 
 
 
 
 

243 lines
9.5 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows Media Technologies
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// File: event.idl
//
// Contents:
//
//--------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows Media Technologies")
cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.")
cpp_quote("//")
cpp_quote("// Automatically generated by Midl from event.idl")
cpp_quote("//")
cpp_quote("// DO NOT EDIT THIS FILE.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("#if _MSC_VER > 1000")
cpp_quote("#pragma once")
cpp_quote("#endif // _MSC_VER > 1000")
import "oaidl.idl";
import "WMSContext.idl";
import "WMSEvent.idl";
cpp_quote( "EXTERN_GUID( IID_IWMSEventNotificationPlugin , 0xBE185FF0,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
cpp_quote( "EXTERN_GUID( IID_IWMSEventAuthorizationPlugin , 0xBE185FF1,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
cpp_quote( "EXTERN_GUID( IID_IWMSEventAuthorizationCallback , 0xBE185FF2,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
cpp_quote( "EXTERN_GUID( IID_IWMSCustomEventCallback , 0x8fbd4d04,0x970d,0x4d37,0xbb,0xc6,0x6f,0xbb,0xb7,0x4e,0xac,0x9d );" )
interface IWMSEventNotificationPlugin;
interface IWMSEventAuthorizationPlugin;
interface IWMSEventAuthorizationCallback;
typedef [public] enum WMS_SERVER_EVENT_TYPE
{
WMS_EVENT_SERVER_ONLINE = 0,
WMS_EVENT_SERVER_OFFLINE = 1,
WMS_EVENT_SERVER_CRITICAL_ERROR = 2,
WMS_EVENT_SERVER_PROPERTY_CHANGE = 3,
WMS_EVENT_SERVER_ALLOW_CLIENTS_TO_CONNECT_CHANGE = 4,
WMS_EVENT_SERVER_PLUGIN_LOAD_TYPE_CHANGE = 5,
WMS_EVENT_SERVER_REVERSE_PROXY_MODE_CHANGE = 6,
WMS_EVENT_SERVER_DOWNLOAD_START = 7,
WMS_EVENT_SERVER_DOWNLOAD_COMPLETE = 8,
[hidden] WMS_NUM_SERVER_EVENTS = 9
} WMS_SERVER_EVENT_TYPE;
typedef [public] enum WMS_PUBLISHING_POINT_EVENT_TYPE
{
WMS_EVENT_PUBLISHING_POINT_ADD = 0,
WMS_EVENT_PUBLISHING_POINT_REMOVE = 1,
WMS_EVENT_PUBLISHING_POINT_ALLOW_CLIENTS_TO_CONNECT_CHANGE = 2,
WMS_EVENT_PUBLISHING_POINT_START_WITHOUT_DATA = 3,
WMS_EVENT_PUBLISHING_POINT_START = 4,
WMS_EVENT_PUBLISHING_POINT_STOP = 5,
WMS_EVENT_PUBLISHING_POINT_START_ARCHIVE = 6,
WMS_EVENT_PUBLISHING_POINT_STOP_ARCHIVE = 7,
WMS_EVENT_PUBLISHING_POINT_NAME_CHANGE = 8,
WMS_EVENT_PUBLISHING_POINT_PATH_CHANGE = 9,
WMS_EVENT_PUBLISHING_POINT_ALLOW_CLIENT_TO_START_AND_STOP_CHANGE = 10,
WMS_EVENT_PUBLISHING_POINT_PROPERTY_CHANGE = 11,
WMS_EVENT_PUBLISHING_POINT_WRAPPER_PATH_CHANGE = 12,
WMS_EVENT_PUBLISHING_POINT_ENABLE_WRAPPER_PATH_CHANGE = 13,
WMS_EVENT_PUBLISHING_POINT_ALLOW_CONTENT_CACHING_CHANGE = 14,
WMS_EVENT_PUBLISHING_POINT_STREAM_END = 15,
WMS_EVENT_PUBLISHING_POINT_CRITICAL_ERROR = 16,
WMS_EVENT_PUBLISHING_POINT_ENABLE_CLIENT_WILDCARD_DIRECTORY_ACCESS_CHANGE = 17,
WMS_EVENT_PUBLISHING_POINT_DISTRIBUTION_USER_NAME_CHANGE = 18,
WMS_EVENT_PUBLISHING_POINT_DISTRIBUTION_PASSWORD_CHANGE = 19,
WMS_EVENT_PUBLISHING_POINT_ALLOW_PLAYER_SIDE_DISK_CACHING_CHANGE = 20,
WMS_EVENT_PUBLISHING_POINT_BUFFER_SETTING_CHANGE = 21,
WMS_EVENT_PUBLISHING_POINT_ENABLE_FEC_CHANGE = 22,
[hidden] WMS_NUM_PUBLISHINGPOINT_EVENTS = 23
} WMS_PUBLISHING_POINT_EVENT_TYPE;
typedef [public] enum WMS_LIMIT_CHANGE_EVENT_TYPE
{
WMS_EVENT_LIMIT_CHANGE_CONNECTED_PLAYERS = 0,
WMS_EVENT_LIMIT_CHANGE_PLAYER_BANDWIDTH = 1,
WMS_EVENT_LIMIT_CHANGE_PLAYER_CONNECTION_BANDWIDTH = 2,
WMS_EVENT_LIMIT_CHANGE_DISTRIBUTION_CONNECTIONS = 3,
WMS_EVENT_LIMIT_CHANGE_PLAYER_INACTIVITY_TIMEOUT = 4,
WMS_EVENT_LIMIT_CHANGE_PLAYER_ACKNOWLEDGEMENT_TIMEOUT = 5,
WMS_EVENT_LIMIT_CHANGE_CONNECTION_RATE = 6,
WMS_EVENT_LIMIT_CHANGE_CPU_UTILIZATION_DURING_CONNECTION = 7,
WMS_EVENT_LIMIT_CHANGE_DISTRIBUTION_BANDWIDTH = 8,
WMS_EVENT_LIMIT_CHANGE_DISTRIBUTION_CONNECTION_BANDWIDTH = 9,
WMS_EVENT_LIMIT_CHANGE_DIAGNOSTIC_EVENTS = 10,
WMS_EVENT_LIMIT_CHANGE_PLAYER_CACHE_DELIVERY_RATE = 11,
WMS_EVENT_LIMIT_CHANGE_FEC_PACKET_SPAN = 12,
WMS_EVENT_LIMIT_CHANGE_INCOMING_BANDWIDTH = 13,
[hidden] WMS_NUM_LIMIT_CHANGE_EVENTS = 14
} WMS_LIMIT_CHANGE_EVENT_TYPE;
typedef [public] enum WMS_LIMIT_HIT_EVENT_TYPE
{
WMS_EVENT_LIMIT_HIT_CONNECTED_PLAYERS = 0,
WMS_EVENT_LIMIT_HIT_PLAYER_BANDWIDTH = 1,
WMS_EVENT_LIMIT_HIT_PLAYER_CONNECTION_BANDWIDTH = 2,
WMS_EVENT_LIMIT_HIT_DISTRIBUTION_CONNECTIONS = 3,
WMS_EVENT_LIMIT_HIT_PLAYER_INACTIVITY_TIMEOUT = 4,
WMS_EVENT_LIMIT_HIT_PLAYER_ACKNOWLEDGEMENT_TIMEOUT = 5,
WMS_EVENT_LIMIT_HIT_CONNECTION_RATE = 6,
WMS_EVENT_LIMIT_HIT_CPU_UTILIZATION_DURING_CONNECTION = 7,
WMS_EVENT_LIMIT_HIT_DISTRIBUTION_BANDWIDTH = 8,
WMS_EVENT_LIMIT_HIT_DISTRIBUTION_CONNECTION_BANDWIDTH = 9,
WMS_EVENT_LIMIT_HIT_INCOMING_BANDWIDTH = 10,
[hidden] WMS_NUM_LIMIT_HIT_EVENTS = 11
} WMS_LIMIT_HIT_EVENT_TYPE;
typedef [public] enum WMS_PLUGIN_EVENT_TYPE
{
WMS_EVENT_PLUGIN_ADD = 0,
WMS_EVENT_PLUGIN_REMOVE = 1,
WMS_EVENT_PLUGIN_ENABLE = 2,
WMS_EVENT_PLUGIN_DISABLE = 3,
WMS_EVENT_PLUGIN_PROPERTY_CHANGE = 4,
WMS_EVENT_PLUGIN_ERROR = 5,
WMS_EVENT_PLUGIN_NAME_CHANGE = 6,
WMS_EVENT_PLUGIN_LOAD_TYPE_CHANGE = 7,
WMS_EVENT_PLUGIN_SELECTION_ORDER_CHANGE = 8,
[hidden] WMS_NUM_PLUGIN_EVENTS = 9
} WMS_PLUGIN_EVENT_TYPE;
typedef [public] enum WMS_CACHE_EVENT_TYPE
{
WMS_EVENT_CACHE_HIT = 0,
WMS_EVENT_CACHE_MISS = 1,
WMS_EVENT_CACHE_DOWNLOAD_START = 2,
WMS_EVENT_CACHE_DOWNLOAD_COMPLETE = 3,
WMS_EVENT_CACHE_REDIRECT = 4,
WMS_EVENT_CACHE_REDIRECT_TO_PROXY = 5,
WMS_EVENT_CACHE_PRESTUFF_COMPLETE = 6,
[hidden] WMS_NUM_CACHE_EVENTS = 7
} WMS_CACHE_EVENT_TYPE;
typedef [public] enum WMS_PLAYLIST_EVENT_TYPE
{
WMS_EVENT_PLAYLIST_SWITCH = 0,
WMS_EVENT_PLAYLIST_CUE = 1,
WMS_EVENT_PLAYLIST_MODIFY = 2,
WMS_EVENT_PLAYLIST_FAILOVER = 3,
[hidden] WMS_NUM_PLAYLIST_EVENTS = 4
} WMS_PLAYLIST_EVENT_TYPE;
typedef [public] enum WMS_RECORD_PROGRESS_OPCODE
{
WMS_RECORD_PROGRESS_ARCHIVE_STARTED = 0,
WMS_RECORD_PROGRESS_ARCHIVE_FINISHED = 1,
} WMS_RECORD_PROGRESS_OPCODE;
/////////////////////////////////////////////////////////////////////////////
//
//
/////////////////////////////////////////////////////////////////////////////
[
object,
uuid(BE185FF0-6932-11d2-8B3B-006097B01206),
version(9.0),
pointer_default(unique),
helpstring("Provides methods to retrieve the notification events that a plug-in subscribes to and to indicate when these events are fired.")
]
interface IWMSEventNotificationPlugin : IUnknown
{
//
// Find out which event types this plugin is interested in.
//
[helpstring("Called by the server to retrieve the events that a plug-in subscribes to.")] HRESULT
GetHandledEvents( [out, retval] VARIANT *pvarEvents );
//
// Called by the server when one of the event types that this plugin
// is interested in occurs. If the plugin needs to do a significant
// amount of work to process an event, it should not do so during this call!
//
[helpstring("Called by the server to signals that an event subscribed to by the plug-in has occurred.")] HRESULT
OnEvent(
[in] WMS_EVENT *pEvent,
[in] IWMSContext *pUserCtx,
[in] IWMSContext *pPresentationCtx,
[in] IWMSCommandContext *pCommandCtx );
};
///////////////////////////////////////////////////////////////////////////////
[
object,
uuid(BE185FF1-6932-11d2-8B3B-006097B01206),
version(9.0),
pointer_default(unique),
helpstring("Provides methods to retrieve the authorization events that a plugin subscribes to and to indicate when these events are fired.")
]
interface IWMSEventAuthorizationPlugin : IUnknown
{
//
// Find out which event types this plugin authorizes
//
[helpstring("Called by the server to retrieve an array of the events that the plug-in can authorize.")] HRESULT
GetAuthorizedEvents( [out, retval] VARIANT *pvarEvents );
//
// Called by the server when one of the event types this plugin
// authorizes occurs. The server waits for a completion callback
// before continuing.
//
[helpstring("Called by the server to request that a specific event be authorized.")] HRESULT
AuthorizeEvent(
[in] WMS_EVENT *pEvent,
[in] IWMSContext *pUserCtx,
[in] IWMSContext *pPresentationCtx,
[in] IWMSCommandContext *pCommandCtx,
[in] IWMSEventAuthorizationCallback *pCallback,
[in] VARIANT Context );
};
/////////////////////////////////////////////////////////////////////////////
[
object,
uuid(BE185FF2-6932-11d2-8B3B-006097B01206),
version(9.0),
pointer_default(unique),
helpstring("Provides a method to report the results of an event authorization.")
]
interface IWMSEventAuthorizationCallback : IUnknown
{
[helpstring("Called by a plug-in to return the result of the IWMSEventAuthorization::AuthorizeEvent method call.")] HRESULT
OnAuthorizeEvent(
[in] long hr,
[in] VARIANT Context );
};