//***************************************************************************** 
// 
// Microsoft Windows Media 
// Copyright (C) Microsoft Corporation. All rights reserved. 
//
// FileName:            wmsevent.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 wmsevent.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";

cpp_quote("#define WMS_EVENT_VERSION 1")


///////////////////////////////////////////////////////////////////////////////
typedef [public] enum WMS_EVENT_TYPE
{
    WMS_EVENT_UNKNOWN_EVENT = 0,
    WMS_EVENT_CONNECT = 1,                          // can be authorized
    WMS_EVENT_DISCONNECT = 2,
    WMS_EVENT_BEGIN_USER_SESSION = 3,               // can be authorized
    WMS_EVENT_END_USER_SESSION = 4,
    
    // The following 2 URL transform events will only be authorized
    WMS_EVENT_LOGICAL_URL_TRANSFORM = 5,            // can be authorized
    WMS_EVENT_PHYSICAL_URL_TRANSFORM = 6,           // can be authorized
    
    WMS_EVENT_DESCRIBE = 7,                         // can be authorized
    WMS_EVENT_OPEN = 8,                             // can be authorized
    WMS_EVENT_SELECT_STREAMS = 9,                   // can be authorized
    WMS_EVENT_INITIALIZE_PLAYLIST = 10,             // can be authorized
    WMS_EVENT_PLAY = 11,                            // can be authorized
    WMS_EVENT_PAUSE = 12,
    WMS_EVENT_STOP = 13,
    WMS_EVENT_CLOSE = 14,
    WMS_EVENT_SET_PARAMETER = 15,
    WMS_EVENT_GET_PARAMETER = 16,                   // can be authorized
    WMS_EVENT_VALIDATE_PUSH_DISTRIBUTION = 17,      // can be authorized
    WMS_EVENT_CREATE_DISTRIBUTION_DATA_PATH = 18,
    WMS_EVENT_DESTROY_DISTRIBUTION_DATA_PATH = 19,
    WMS_EVENT_LOG = 20,
    WMS_EVENT_SERVER = 21,
    WMS_EVENT_PUBLISHING_POINT = 22,
    WMS_EVENT_LIMIT_CHANGE = 23,
    WMS_EVENT_LIMIT_HIT = 24,
    WMS_EVENT_PLUGIN = 25,
    WMS_EVENT_PLAYLIST = 26,
    WMS_EVENT_CACHE = 27,                  // local cache events
    WMS_EVENT_REMOTE_CACHE_OPEN = 28,      // event propagated to origin server
    WMS_EVENT_REMOTE_CACHE_CLOSE = 29,     // event propagated to origin server
    WMS_EVENT_REMOTE_CACHE_LOG = 30,       // event propagated to origin server
    [hidden] WMS_NUM_EVENTS = 31
} WMS_EVENT_TYPE;


///////////////////////////////////////////////////////////////////////////////
typedef struct WMS_EVENT
{
    long            Version;
    WMS_EVENT_TYPE  Type;
    long            hr;

}   WMS_EVENT;

