//***************************************************************************** // // Microsoft Windows Media // Copyright (C) Microsoft Corporation. All rights reserved. // // FileName: wmsplugin.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 wmsplugin.idl" ) cpp_quote("//") cpp_quote("// DO NOT EDIT THIS FILE.") cpp_quote("//") cpp_quote("//*****************************************************************************") import "oaidl.idl"; import "WMSNamedValues.idl"; // Bit mask for Plugin Load Type. // 0 = Unspecified Plugin Load Type // 1 = Load Plugin as an In-Proc Dll // 2 = Load Plugin as an Out-Of-Proc Local Server // There will be more options to come. typedef [public, uuid(56209C38-39FA-432a-8068-307B7BAE01B8)] enum WMS_PLUGIN_LOAD_TYPE { WMS_PLUGIN_LOAD_TYPE_UNSPECIFIED = 0, WMS_PLUGIN_LOAD_TYPE_IN_PROC = 1, WMS_PLUGIN_LOAD_TYPE_OUT_OF_PROC = 2, [hidden] WMS_NUM_PLUGIN_LOAD_TYPE = 3 } WMS_PLUGIN_LOAD_TYPE; // Bit mask for Plugin Unsupported Load Type. // 0 = Plugin supports all plugin load types // 1 = Plugin does not support In-Proc execution // 2 = Plugin does not support Out-Of-Proc execution // There will be more options to come. typedef [public, uuid(56209C39-39FA-432a-8068-307B7BAE01B8)] enum WMS_PLUGIN_UNSUPPORTED_LOAD_TYPE { WMS_PLUGIN_UNSUPPORTED_LOAD_TYPE_NONE = 0, WMS_PLUGIN_UNSUPPORTED_LOAD_TYPE_IN_PROC = 1, WMS_PLUGIN_UNSUPPORTED_LOAD_TYPE_OUT_OF_PROC = 2 } WMS_PLUGIN_UNSUPPORTED_LOAD_TYPE; typedef [public, uuid(8AC2B32C-A223-4134-8DCF-6673C95CE924)] enum WMS_PLUGIN_SUPPORT_TYPE { WMS_PLUGIN_SUPPORT_IS_SUPPORTED = 0, WMS_PLUGIN_SUPPORT_REQUIRES_ADVANCED_SERVER = 1, } WMS_PLUGIN_SUPPORT_TYPE; ///////////////////////////////////////////////////////////////////////////// [ object, uuid(517758ed-603c-4b98-82c1-4b2fa7787166), dual, nonextensible, helpstring("Contains properties to retrieve and manage the properties of a plug-in."), pointer_default(unique) ] interface IWMSPlugin : IDispatch { typedef [public, uuid(3E52E0E2-72A7-11D2-BF2F-00805FBE84A6)] enum WMS_PLUGIN_STATUS { WMS_PLUGIN_NONE = 0x0000, WMS_PLUGIN_ERROR = 0x0001, WMS_PLUGIN_LOADED = 0x0002, WMS_PLUGIN_ENABLED = 0x0004, WMS_PLUGIN_LOADED_IN_PROC = 0x0008, WMS_PLUGIN_LOADED_OUT_OF_PROC = 0x0010, WMS_PLUGIN_REMOVE_ON_SERVICE_RESTART = 0x0020 } WMS_PLUGIN_STATUS; [propput, id(DISPID_VALUE), helpstring("Specifies or retrieves the name of the plug-in.")] HRESULT Name([in] BSTR pVal); [propget, id(DISPID_VALUE), helpstring("Specifies or retrieves the name of the plug-in.")] HRESULT Name([out, retval] BSTR *pVal); [propget, id(1), helpstring("Specifies or retrieves a Boolean value indicating whether the plug-in is enabled.")] HRESULT Enabled([out, retval] VARIANT_BOOL *pVal); [propput, id(1), helpstring("Specifies or retrieves a Boolean value indicating whether the plug-in is enabled.")] HRESULT Enabled([in] VARIANT_BOOL newVal); [propget, id(2), helpstring("Retrieves the CLSID of the plug-in.")] HRESULT CLSID([out, retval] BSTR *pVal); [propget, id(7), helpstring("Retrieves the administration object for the plug-in.")] HRESULT CustomInterface([out, retval] IDispatch **ppVal); [propget, id(8), helpstring("Retrieves the status of the plug-in.")] HRESULT Status([out, retval] long *pVal); [propget, id(9), helpstring("Retrieves an HRESULT error code for the plug-in.")] HRESULT ErrorCode([out, retval] long *pVal); [propget, id(10), helpstring("Retrieves the collection of name-value pairs for the plug-in.")] HRESULT Properties([out, retval] IWMSNamedValues* *pVal); [propget, id(11), helpstring("Retrieves the version number of the plug-in.")] HRESULT Version([out, retval] BSTR *pVal); [propget, id(12), helpstring("Specifies or retrieves how the server should load the plugin.")] HRESULT LoadType([out, retval] WMS_PLUGIN_LOAD_TYPE *pVal); [propput, id(12), helpstring("Specifies or retrieves how the server should load the plugin.")] HRESULT LoadType([in] WMS_PLUGIN_LOAD_TYPE val); [propget, id(13), helpstring("Retrieves the text associated with the plug-in error.")] HRESULT ErrorText([out, retval] BSTR *pVal); [propget, id(14), helpstring("Specifies or retrieves the order in which the plug-in will be selected for use.")] HRESULT SelectionOrder( [out, retval] long *pVal ); [propput, id(14), helpstring("Specifies or retrieves the order in which the plug-in will be selected for use.")] HRESULT SelectionOrder( [in] long lVal ); [propget, id(15), helpstring("Retrieves an enumeration value that indicates which version of Windows Server 2003 is required to load the plug-in.")] HRESULT SupportStatus([out, retval] WMS_PLUGIN_SUPPORT_TYPE *pVal); [propget, id(50), helpstring("Retrieves the moniker display name for the plug-in.")] HRESULT MonikerName( [out,retval] BSTR* pbstrVal ); };