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