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
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 );
|
|
};
|
|
|