' ########################################################################################
' Microsoft Windows
' File: wmpplug.inc
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_wmpplug_PBI)
#DEFINE PBX_wmpplug_PBI
%EQUATE `WMPPLUG_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/OAIdl.inc"
#INCLUDE ONCE "Legacy/Media/wmp.inc"
$$PLUGIN_INSTALLREGKEY = "Software\Microsoft\MediaPlayer\UIPlugins"$$
$$PLUGIN_INSTALLREGKEY_FRIENDLYNAME = "FriendlyName"$$
$$PLUGIN_INSTALLREGKEY_DESCRIPTION = "Description"$$
$$PLUGIN_INSTALLREGKEY_CAPABILITIES = "Capabilities"$$
$$PLUGIN_INSTALLREGKEY_UNINSTALL = "UninstallPath"$$
%EQUATE `PLUGIN_TYPE_BACKGROUND = &H1
%EQUATE `PLUGIN_TYPE_SEPARATEWINDOW = &H2
%EQUATE `PLUGIN_TYPE_DISPLAYAREA = &H3
%EQUATE `PLUGIN_TYPE_SETTINGSAREA = &H4
%EQUATE `PLUGIN_TYPE_METADATAAREA = &H5
%EQUATE `PLUGIN_FLAGS_HASPROPERTYPAGE = &H80000000
%EQUATE `PLUGIN_FLAGS_INSTALLAUTORUN = &H40000000
%EQUATE `PLUGIN_FLAGS_LAUNCHPROPERTYPAGE = &H20000000
%EQUATE `PLUGIN_FLAGS_ACCEPTSMEDIA = &H10000000
%EQUATE `PLUGIN_FLAGS_ACCEPTSPLAYLISTS = &H8000000
%EQUATE `PLUGIN_FLAGS_HASPRESETS = &H4000000
%EQUATE `PLUGIN_FLAGS_HIDDEN = &H2000000
$$PLUGIN_MISC_PRESETCOUNT = "PresetCount"$$
$$PLUGIN_MISC_PRESETNAMES = "PresetNames"$$
$$PLUGIN_MISC_CURRENTPRESET = "CurrentPreset"$$
$$PLUGIN_SEPARATEWINDOW_RESIZABLE = "Resizable"$$
$$PLUGIN_SEPARATEWINDOW_DEFAULTWIDTH = "DefaultWidth"$$
$$PLUGIN_SEPARATEWINDOW_DEFAULTHEIGHT = "DefaultHeight"$$
$$PLUGIN_SEPARATEWINDOW_MINWIDTH = "MinWidth"$$
$$PLUGIN_SEPARATEWINDOW_MINHEIGHT = "MinHeight"$$
$$PLUGIN_SEPARATEWINDOW_MAXWIDTH = "MaxWidth"$$
$$PLUGIN_SEPARATEWINDOW_MAXHEIGHT = "MaxHeight"$$
$$PLUGIN_MISC_QUERYDESTROY = "QueryDestroy"$$
$$PLUGIN_ALL_MEDIASENDTO = "MediaSendTo"$$
$$PLUGIN_ALL_PLAYLISTSENDTO = "PlaylistSendTo"$$
'{
' return( ::PostMessage( HWND_BROADCAST, ::RegisterWindowMessageA( "WMPlayer_PluginAddRemove" ), 0, 0 ) );
'}
FUNCTION WMPNotifyPluginAddRemove () AS LONG
 FUNCTION = PostMessageA(%HWND_BROADCAST, RegisterWindowMessageA("WMPlayer_PluginAddRemove"), 0, 0)
END FUNCTION
' ########################################################################################
' Interface name = IWMPPluginUI
' IID = {4C5E8F9F-AD3E-4BF9-9753-FCD30D6D38DD}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IWMPPluginUI_INTERFACE_DEFINED)
 %IWMPPluginUI_INTERFACE_DEFINED = 1
$IID_IWMPPluginUI = GUID$("{4C5E8F9F-AD3E-4BF9-9753-FCD30D6D38DD}")
INTERFACE IWMPPluginUI $IID_IWMPPluginUI
 INHERIT IUnknown
 ' =====================================================================================
 METHOD SetCore ( ' VTable offset = 12
 BYVAL pCore AS IWMPCore
 ) AS LONG
 ' =====================================================================================
 METHOD Create ( ' VTable offset = 16
 BYVAL hwndParent AS DWORD
 , BYREF phwndWindow AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD Destroy ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
 METHOD DisplayPropertyPage ( ' VTable offset = 24
 BYVAL hwndParent AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetProperty ( ' VTable offset = 28
 BYREF pwszName AS WSTRINGZ
 , BYREF pvarProperty AS VARIANT
 ) AS LONG
 ' =====================================================================================
 METHOD SetProperty ( ' VTable offset = 32
 BYREF pwszName AS WSTRINGZ
 , BYREF pvarProperty AS VARIANT
 ) AS LONG
 ' =====================================================================================
 METHOD TranslateAccelerator ( ' VTable offset = 36
 BYREF lpmsg AS tagMSG
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IWMPPluginUI_INTERFACE_DEFINED__ */
#ENDIF
