• Welcome to Jose's Read Only Forum 2023.
 

Embedding Microsoft Windows Media Player

Started by José Roca, December 17, 2008, 04:45:17 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

José Roca

 
The following example demonstrates how to embed an instance of the Microsoft Windows Media Player using my Ole Container (OLECON.INC), load and play a movie, and connect with the events fired by the control.


' ########################################################################################
' Test for the Microsoft Windows Media Player control
' ########################################################################################

' SED_PBWIN - Use the PBWIN compiler
#COMPILE EXE
#DIM ALL
#INCLUDE ONCE "OLECON.INC"      ' // Ole Container
#INCLUDE ONCE "WMP.INC"         ' // Windows Media Player

%IDC_WMP = 101

' ========================================================================================
' Main
' ========================================================================================
FUNCTION WINMAIN (BYVAL hInstance AS DWORD, BYVAL hPrevInstance AS DWORD, BYVAL lpszCmdLine AS ASCIIZ PTR, BYVAL nCmdShow AS LONG) AS LONG

   LOCAL hWndMain    AS DWORD
   LOCAL hFont       AS DWORD
   LOCAL wcex        AS WNDCLASSEX
   LOCAL szClassName AS ASCIIZ * 80
   LOCAL rc          AS RECT
   LOCAL szCaption   AS ASCIIZ * 255
   LOCAL nLeft       AS LONG
   LOCAL nTop        AS LONG
   LOCAL nWidth      AS LONG
   LOCAL nHeight     AS LONG

   ' Required: Initialize the OLE Container
   OC_WinInit

   hFont = GetStockObject(%ANSI_VAR_FONT)

   ' Register the window class
   szClassName        = "WMP"
   wcex.cbSize        = SIZEOF(wcex)
   wcex.style         = 0 '%CS_HREDRAW OR %CS_VREDRAW
   wcex.lpfnWndProc   = CODEPTR(WndProc)
   wcex.cbClsExtra    = 0
   wcex.cbWndExtra    = 0
   wcex.hInstance     = hInstance
   wcex.hCursor       = LoadCursor (%NULL, BYVAL %IDC_ARROW)
   wcex.hbrBackground = %COLOR_3DFACE + 1
   wcex.lpszMenuName  = %NULL
   wcex.lpszClassName = VARPTR(szClassName)
   wcex.hIcon         = LoadIcon (%NULL, BYVAL %IDI_APPLICATION) ' Sample, if resource icon: LoadIcon(hInst, "APPICON")
   wcex.hIconSm       = LoadIcon (%NULL, BYVAL %IDI_APPLICATION) ' Remember to set small icon too..
   RegisterClassEx wcex

   ' Window caption
   szCaption = "Windows Media Player Demo"

   ' Retrieve the size of the working area
   SystemParametersInfo %SPI_GETWORKAREA, 0, BYVAL VARPTR(rc), 0

   ' Calculate the position and size of the window
   nWidth  = (((rc.nRight - rc.nLeft)) + 2) * 0.75   ' 75% of the client screen width
   nHeight = (((rc.nBottom - rc.nTop)) + 2) * 0.70   ' 70% of the client screen height
   nLeft   = ((rc.nRight - rc.nLeft) \ 2) - nWidth \ 2
   nTop    = ((rc.nBottom - rc.nTop) \ 2) - (nHeight \ 2)

   ' Create a window using the registered class
   hWndMain = CreateWindowEx(%WS_EX_CONTROLPARENT, _           ' extended style
                             szClassName, _                    ' window class name
                             szCaption, _                      ' window caption
                             %WS_OVERLAPPEDWINDOW OR _
                             %WS_CLIPCHILDREN, _               ' window style
                             nLeft, _                          ' initial x position
                             nTop, _                           ' initial y position
                             nWidth, _                         ' initial x size
                             nHeight, _                        ' initial y size
                             %NULL, _                          ' parent window handle
                             0, _                              ' window menu handle
                             hInstance, _                      ' program instance handle
                             BYVAL %NULL)                      ' creation parameters

   ' Show the window
   ShowWindow hWndMain, nCmdShow
   UpdateWindow hWndMain

   ' Message handler loop
   LOCAL uMsg AS tagMsg
   WHILE GetMessage(uMsg, %NULL, 0, 0)
      IF ISFALSE OC_ForwardMessage(GetFocus, uMsg) THEN
         IF IsDialogMessage(hWndMain, uMsg) = 0 THEN
            TranslateMessage uMsg
            DispatchMessage uMsg
         END IF
      END IF
   WEND

   FUNCTION = uMsg.wParam

END FUNCTION
' ========================================================================================

' ========================================================================================
' Main Window procedure
' ========================================================================================
FUNCTION WndProc (BYVAL hWnd AS DWORD, BYVAL wMsg AS DWORD, BYVAL wParam AS DWORD, BYVAL lParam AS LONG) AS LONG

   LOCAL  hr            AS LONG
   LOCAL  hCtrl         AS DWORD
   LOCAL  rc            AS RECT
   LOCAL  pIWMPPlayer4  AS IWMPPlayer4
   STATIC pWMPOCXEvents AS WMPOCXEventsImpl

   SELECT CASE wMsg

      CASE %WM_CREATE
         ' Get the coordinates of the main window client area
         GetClientRect hWnd, rc
         ' Create an instance of the WMPlayer control
         hCtrl = CreateWindowEx(0, $OC_CLASSNAME, "WMPlayer.OCX", _
                 %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP, 0, 0, 0, 0, hWnd, %IDC_WMP, GetModuleHandle(""), BYVAL %NULL)
         ' Set the focus in the control
         SetFocus hCtrl
         ' Get a pointer to the IWMPPlayer4 interface
         pIWMPPlayer4 = OC_GetDispatch(hCtrl)
         ' Connect events
         IF ISOBJECT(pIWMPPlayer4) THEN
            pWMPOCXEvents = CLASS "CWMPOCXEvents"
            IF ISOBJECT(pWMPOCXEvents) THEN
               EVENTS FROM pIWMPPlayer4 CALL pWMPOCXEvents
            END IF
            ' Set the URL
            pIWMPPlayer4.URL = UCODE$(EXE.Path$ & "Secretarys_ass.wmv")
            ' Play the movie
            pIWMPPlayer4.controls.play
            ' Release the interface
            pIWMPPlayer4 = NOTHING
         END IF

      CASE %WM_SIZE
         ' Resizes the control
         IF wParam <> %SIZE_MINIMIZED THEN
            GetClientRect hWnd, rc
            MoveWindow GetDlgItem(hWnd, %IDC_WMP), 0, 0, rc.nRight - rc.nLeft, rc.nBottom - rc.nTop, %TRUE
         END IF

      CASE %WM_COMMAND
         SELECT CASE LO(WORD, wParam)
            CASE %IDCANCEL
               IF HI(WORD, wParam) = %BN_CLICKED THEN
                  SendMessage hWnd, %WM_CLOSE, 0, 0
                  EXIT FUNCTION
               END IF
         END SELECT

      CASE %WM_SYSCOMMAND
         ' Capture this message and send a WM_CLOSE message
         IF (wParam AND &HFFF0) = %SC_CLOSE THEN
            SendMessage hWnd, %WM_CLOSE, 0, 0
            EXIT FUNCTION
         END IF

      CASE %WM_DESTROY
         ' Disconnect events
         IF ISOBJECT(pWMPOCXEvents) THEN
            EVENTS END pWMPOCXEvents
            pWMPOCXEvents = NOTHING
         END IF
         PostQuitMessage 0
         EXIT FUNCTION

   END SELECT

   FUNCTION = DefWindowProc(hWnd, wMsg, wParam, lParam)

END FUNCTION
' ========================================================================================

' ########################################################################################
' Class CWMPOCXEvents
' Interface name = _WMPOCXEvents
' IID = {6BF52A51-394A-11D3-B153-00C04F79FAA6}
' _WMPOCXEvents: Public interface.
' Attributes = 4112 [&H1010] [Hidden] [Dispatchable]
' Code generated by the TypeLib Browser 4.0.13 (c) 2008 by José Roca
' Date: 17 dic 2008   Time: 04:21:06
' ########################################################################################

CLASS CWMPOCXEvents GUID$("{E0D086A3-4900-47A6-A2C9-E806B39CD878}") AS EVENT

INTERFACE WMPOCXEventsImpl GUID$("{6BF52A51-394A-11D3-B153-00C04F79FAA6}") AS EVENT

  INHERIT IDispatch

   ' =====================================================================================
   METHOD OpenStateChange <5001> ( _
     BYVAL NewState AS LONG _                           ' [in] NewState VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PlayStateChange <5101> ( _
     BYVAL NewState AS LONG _                           ' [in] NewState VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD AudioLanguageChange <5102> ( _
     BYVAL LangID AS LONG _                             ' [in] LangID VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD StatusChange <5002>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD ScriptCommand <5301> ( _
     BYVAL scType AS STRING _                           ' [in] scType VT_BSTR
   , BYVAL Param AS STRING _                            ' [in] Param VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD NewStream <5403>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD Disconnect <5401> ( _
     BYVAL Result AS LONG _                             ' [in] Result VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD Buffering <5402> ( _
     BYVAL Start AS INTEGER _                           ' [in] Start VT_BOOL <Integer>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD Error <5501>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD Warning <5601> ( _
     BYVAL WarningType AS LONG _                        ' [in] WarningType VT_I4 <Long>
   , BYVAL Param AS LONG _                              ' [in] Param VT_I4 <Long>
   , BYVAL Description AS STRING _                      ' [in] Description VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD EndOfStream <5201> ( _
     BYVAL Result AS LONG _                             ' [in] Result VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PositionChange <5202> ( _
     BYVAL oldPosition AS DOUBLE _                      ' [in] oldPosition VT_R8 <Double>
   , BYVAL newPosition AS DOUBLE _                      ' [in] newPosition VT_R8 <Double>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MarkerHit <5203> ( _
     BYVAL MarkerNum AS LONG _                          ' [in] MarkerNum VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DurationUnitChange <5204> ( _
     BYVAL NewDurationUnit AS LONG _                    ' [in] NewDurationUnit VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CdromMediaChange <5701> ( _
     BYVAL CdromNum AS LONG _                           ' [in] CdromNum VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PlaylistChange <5801> ( _
     BYVAL Playlist AS IDispatch _                      ' [in] *Playlist VT_DISPATCH <IDispatch>
   , BYVAL change AS LONG _                             ' [in] change WMPPlaylistChangeEventType <enum>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CurrentPlaylistChange <5804> ( _
     BYVAL change AS LONG _                             ' [in] change WMPPlaylistChangeEventType <enum>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CurrentPlaylistItemAvailable <5805> ( _
     BYVAL bstrItemName AS STRING _                     ' [in] bstrItemName VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MediaChange <5802> ( _
     BYVAL Item AS IDispatch _                          ' [in] *Item VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CurrentMediaItemAvailable <5803> ( _
     BYVAL bstrItemName AS STRING _                     ' [in] bstrItemName VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CurrentItemChange <5806> ( _
     BYVAL pdispMedia AS IDispatch _                    ' [in] *pdispMedia VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MediaCollectionChange <5807>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MediaCollectionAttributeStringAdded <5808> ( _
     BYVAL bstrAttribName AS STRING _                   ' [in] bstrAttribName VT_BSTR
   , BYVAL bstrAttribVal AS STRING _                    ' [in] bstrAttribVal VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MediaCollectionAttributeStringRemoved <5809> ( _
     BYVAL bstrAttribName AS STRING _                   ' [in] bstrAttribName VT_BSTR
   , BYVAL bstrAttribVal AS STRING _                    ' [in] bstrAttribVal VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MediaCollectionAttributeStringChanged <5820> ( _
     BYVAL bstrAttribName AS STRING _                   ' [in] bstrAttribName VT_BSTR
   , BYVAL bstrOldAttribVal AS STRING _                 ' [in] bstrOldAttribVal VT_BSTR
   , BYVAL bstrNewAttribVal AS STRING _                 ' [in] bstrNewAttribVal VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PlaylistCollectionChange <5810>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PlaylistCollectionPlaylistAdded <5811> ( _
     BYVAL bstrPlaylistName AS STRING _                 ' [in] bstrPlaylistName VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PlaylistCollectionPlaylistRemoved <5812> ( _
     BYVAL bstrPlaylistName AS STRING _                 ' [in] bstrPlaylistName VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PlaylistCollectionPlaylistSetAsDeleted <5818> ( _
     BYVAL bstrPlaylistName AS STRING _                 ' [in] bstrPlaylistName VT_BSTR
   , BYVAL varfIsDeleted AS INTEGER _                   ' [in] varfIsDeleted VT_BOOL <Integer>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD ModeChange <5819> ( _
     BYVAL ModeName AS STRING _                         ' [in] ModeName VT_BSTR
   , BYVAL NewValue AS INTEGER _                        ' [in] NewValue VT_BOOL <Integer>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MediaError <5821> ( _
     BYVAL pMediaObject AS IDispatch _                  ' [in] *pMediaObject VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OpenPlaylistSwitch <5823> ( _
     BYVAL pItem AS IDispatch _                         ' [in] *pItem VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DomainChange <5822> ( _
     BYVAL strDomain AS STRING _                        ' [in] strDomain VT_BSTR
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD SwitchedToPlayerApplication <6501>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD SwitchedToControl <6502>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PlayerDockedStateChange <6503>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD PlayerReconnect <6504>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD Click <6505> ( _
     BYVAL nButton AS INTEGER _                         ' [in] nButton VT_I2 <Integer>
   , BYVAL nShiftState AS INTEGER _                     ' [in] nShiftState VT_I2 <Integer>
   , BYVAL fX AS LONG _                                 ' [in] fX VT_I4 <Long>
   , BYVAL fY AS LONG _                                 ' [in] fY VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DoubleClick <6506> ( _
     BYVAL nButton AS INTEGER _                         ' [in] nButton VT_I2 <Integer>
   , BYVAL nShiftState AS INTEGER _                     ' [in] nShiftState VT_I2 <Integer>
   , BYVAL fX AS LONG _                                 ' [in] fX VT_I4 <Long>
   , BYVAL fY AS LONG _                                 ' [in] fY VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyDown <6507> ( _
     BYVAL nKeyCode AS INTEGER _                        ' [in] nKeyCode VT_I2 <Integer>
   , BYVAL nShiftState AS INTEGER _                     ' [in] nShiftState VT_I2 <Integer>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyPress <6508> ( _
     BYVAL nKeyAscii AS INTEGER _                       ' [in] nKeyAscii VT_I2 <Integer>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyUp <6509> ( _
     BYVAL nKeyCode AS INTEGER _                        ' [in] nKeyCode VT_I2 <Integer>
   , BYVAL nShiftState AS INTEGER _                     ' [in] nShiftState VT_I2 <Integer>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseDown <6510> ( _
     BYVAL nButton AS INTEGER _                         ' [in] nButton VT_I2 <Integer>
   , BYVAL nShiftState AS INTEGER _                     ' [in] nShiftState VT_I2 <Integer>
   , BYVAL fX AS LONG _                                 ' [in] fX VT_I4 <Long>
   , BYVAL fY AS LONG _                                 ' [in] fY VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseMove <6511> ( _
     BYVAL nButton AS INTEGER _                         ' [in] nButton VT_I2 <Integer>
   , BYVAL nShiftState AS INTEGER _                     ' [in] nShiftState VT_I2 <Integer>
   , BYVAL fX AS LONG _                                 ' [in] fX VT_I4 <Long>
   , BYVAL fY AS LONG _                                 ' [in] fY VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseUp <6512> ( _
     BYVAL nButton AS INTEGER _                         ' [in] nButton VT_I2 <Integer>
   , BYVAL nShiftState AS INTEGER _                     ' [in] nShiftState VT_I2 <Integer>
   , BYVAL fX AS LONG _                                 ' [in] fX VT_I4 <Long>
   , BYVAL fY AS LONG _                                 ' [in] fY VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DeviceConnect <6513> ( _
     BYVAL pDevice AS IWMPSyncDevice _                  ' [in] *pDevice IWMPSyncDevice <interface>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DeviceDisconnect <6514> ( _
     BYVAL pDevice AS IWMPSyncDevice _                  ' [in] *pDevice IWMPSyncDevice <interface>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DeviceStatusChange <6515> ( _
     BYVAL pDevice AS IWMPSyncDevice _                  ' [in] *pDevice IWMPSyncDevice <interface>
   , BYVAL NewStatus AS LONG _                          ' [in] NewStatus WMPDeviceStatus <enum>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DeviceSyncStateChange <6516> ( _
     BYVAL pDevice AS IWMPSyncDevice _                  ' [in] *pDevice IWMPSyncDevice <interface>
   , BYVAL NewState AS LONG _                           ' [in] NewState WMPSyncState <enum>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DeviceSyncError <6517> ( _
     BYVAL pDevice AS IWMPSyncDevice _                  ' [in] *pDevice IWMPSyncDevice <interface>
   , BYVAL pMedia AS IDispatch _                        ' [in] *pMedia VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CreatePartnershipComplete <6518> ( _
     BYVAL pDevice AS IWMPSyncDevice _                  ' [in] *pDevice IWMPSyncDevice <interface>
   , BYVAL hrResult AS LONG _                           ' [in] hrResult VT_HRESULT <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CdromRipStateChange <6519> ( _
     BYVAL pCdromRip AS IWMPCdromRip _                  ' [in] *pCdromRip IWMPCdromRip <interface>
   , BYVAL wmprs AS LONG _                              ' [in] wmprs WMPRipState <enum>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CdromRipMediaError <6520> ( _
     BYVAL pCdromRip AS IWMPCdromRip _                  ' [in] *pCdromRip IWMPCdromRip <interface>
   , BYVAL pMedia AS IDispatch _                        ' [in] *pMedia VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CdromBurnStateChange <6521> ( _
     BYVAL pCdromBurn AS IWMPCdromBurn _                ' [in] *pCdromBurn IWMPCdromBurn <interface>
   , BYVAL wmpbs AS LONG _                              ' [in] wmpbs WMPBurnState <enum>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CdromBurnMediaError <6522> ( _
     BYVAL pCdromBurn AS IWMPCdromBurn _                ' [in] *pCdromBurn IWMPCdromBurn <interface>
   , BYVAL pMedia AS IDispatch _                        ' [in] *pMedia VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD CdromBurnError <6523> ( _
     BYVAL pCdromBurn AS IWMPCdromBurn _                ' [in] *pCdromBurn IWMPCdromBurn <interface>
   , BYVAL hrError AS LONG _                            ' [in] hrError VT_HRESULT <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD LibraryConnect <6524> ( _
     BYVAL pLibrary AS IWMPLibrary _                    ' [in] *pLibrary IWMPLibrary <interface>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD LibraryDisconnect <6525> ( _
     BYVAL pLibrary AS IWMPLibrary _                    ' [in] *pLibrary IWMPLibrary <interface>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD FolderScanStateChange <6526> ( _
     BYVAL wmpfss AS LONG _                             ' [in] wmpfss WMPFolderScanState <enum>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD StringCollectionChange <5824> ( _
     BYVAL pdispStringCollection AS IDispatch _         ' [in] *pdispStringCollection VT_DISPATCH <IDispatch>
   , BYVAL change AS LONG _                             ' [in] change WMPStringCollectionChangeEventType <enum>
   , BYVAL lCollectionIndex AS LONG _                   ' [in] lCollectionIndex VT_I4 <Long>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MediaCollectionMediaAdded <5825> ( _
     BYVAL pdispMedia AS IDispatch _                    ' [in] *pdispMedia VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MediaCollectionMediaRemoved <5826> ( _
     BYVAL pdispMedia AS IDispatch _                    ' [in] *pdispMedia VT_DISPATCH <IDispatch>
   )                                                    ' VOID

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

END INTERFACE

END CLASS