home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / PLAYLIST.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  18.4 KB  |  584 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push_S*/
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  
  4.  
  5. /* File created by MIDL compiler version 3.02.88 */
  6. /* at Thu Nov 13 19:28:41 1997
  7.  */
  8. /* Compiler settings for playlist.idl:
  9.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  10.     error checks: none
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. #include "rpc.h"
  14. #include "rpcndr.h"
  15. #ifndef COM_NO_WINDOWS_H
  16. #include "windows.h"
  17. #include "ole2.h"
  18. #endif /*COM_NO_WINDOWS_H*/
  19.  
  20. #ifndef __playlist_h__
  21. #define __playlist_h__
  22.  
  23. #ifdef __cplusplus
  24. extern "C"{
  25. #endif 
  26.  
  27. /* Forward Declarations */ 
  28.  
  29. #ifndef __IAMPlayListItem_FWD_DEFINED__
  30. #define __IAMPlayListItem_FWD_DEFINED__
  31. typedef interface IAMPlayListItem IAMPlayListItem;
  32. #endif     /* __IAMPlayListItem_FWD_DEFINED__ */
  33.  
  34.  
  35. #ifndef __IAMPlayList_FWD_DEFINED__
  36. #define __IAMPlayList_FWD_DEFINED__
  37. typedef interface IAMPlayList IAMPlayList;
  38. #endif     /* __IAMPlayList_FWD_DEFINED__ */
  39.  
  40.  
  41. /* header files for imported files */
  42. #include "unknwn.h"
  43. #include "strmif.h"
  44.  
  45. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  46. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  47.  
  48. /****************************************
  49.  * Generated header for interface: __MIDL_itf_playlist_0000
  50.  * at Thu Nov 13 19:28:41 1997
  51.  * using MIDL 3.02.88
  52.  ****************************************/
  53. /* [local] */ 
  54.  
  55.  
  56. EXTERN_GUID(IID_IAMPlayListItem,0x56a868ff,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  57.  
  58. enum AMPlayListItemFlags
  59.     {    AMPLAYLISTITEM_CANSKIP    = 0x1,
  60.     AMPLAYLISTITEM_CANBIND    = 0x2
  61.     };
  62.  
  63.  
  64. extern RPC_IF_HANDLE __MIDL_itf_playlist_0000_v0_0_c_ifspec;
  65. extern RPC_IF_HANDLE __MIDL_itf_playlist_0000_v0_0_s_ifspec;
  66.  
  67. #ifndef __IAMPlayListItem_INTERFACE_DEFINED__
  68. #define __IAMPlayListItem_INTERFACE_DEFINED__
  69.  
  70. /****************************************
  71.  * Generated header for interface: IAMPlayListItem
  72.  * at Thu Nov 13 19:28:41 1997
  73.  * using MIDL 3.02.88
  74.  ****************************************/
  75. /* [unique][uuid][object] */ 
  76.  
  77.  
  78.  
  79. EXTERN_C const IID IID_IAMPlayListItem;
  80.  
  81. #if defined(__cplusplus) && !defined(CINTERFACE)
  82.     
  83.     interface DECLSPEC_UUID("56a868ff-0ad4-11ce-b03a-0020af0ba770")
  84.     IAMPlayListItem : public IUnknown
  85.     {
  86.     public:
  87.         virtual HRESULT STDMETHODCALLTYPE GetFlags( 
  88.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  89.         
  90.         virtual HRESULT STDMETHODCALLTYPE GetSourceCount( 
  91.             /* [out] */ DWORD __RPC_FAR *pdwSources) = 0;
  92.         
  93.         virtual HRESULT STDMETHODCALLTYPE GetSourceURL( 
  94.             /* [in] */ DWORD dwSourceIndex,
  95.             /* [out] */ BSTR __RPC_FAR *pbstrURL) = 0;
  96.         
  97.         virtual HRESULT STDMETHODCALLTYPE GetSourceStart( 
  98.             /* [in] */ DWORD dwSourceIndex,
  99.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart) = 0;
  100.         
  101.         virtual HRESULT STDMETHODCALLTYPE GetSourceDuration( 
  102.             /* [in] */ DWORD dwSourceIndex,
  103.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration) = 0;
  104.         
  105.         virtual HRESULT STDMETHODCALLTYPE GetSourceStartMarker( 
  106.             /* [in] */ DWORD dwSourceIndex,
  107.             /* [out] */ DWORD __RPC_FAR *pdwMarker) = 0;
  108.         
  109.         virtual HRESULT STDMETHODCALLTYPE GetSourceEndMarker( 
  110.             /* [in] */ DWORD dwSourceIndex,
  111.             /* [out] */ DWORD __RPC_FAR *pdwMarker) = 0;
  112.         
  113.         virtual HRESULT STDMETHODCALLTYPE GetSourceStartMarkerName( 
  114.             /* [in] */ DWORD dwSourceIndex,
  115.             /* [out] */ BSTR __RPC_FAR *pbstrStartMarker) = 0;
  116.         
  117.         virtual HRESULT STDMETHODCALLTYPE GetSourceEndMarkerName( 
  118.             /* [in] */ DWORD dwSourceIndex,
  119.             /* [out] */ BSTR __RPC_FAR *pbstrEndMarker) = 0;
  120.         
  121.     };
  122.     
  123. #else     /* C style interface */
  124.  
  125.     typedef struct IAMPlayListItemVtbl
  126.     {
  127.         BEGIN_INTERFACE
  128.         
  129.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  130.             IAMPlayListItem __RPC_FAR * This,
  131.             /* [in] */ REFIID riid,
  132.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  133.         
  134.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  135.             IAMPlayListItem __RPC_FAR * This);
  136.         
  137.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  138.             IAMPlayListItem __RPC_FAR * This);
  139.         
  140.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFlags )( 
  141.             IAMPlayListItem __RPC_FAR * This,
  142.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  143.         
  144.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceCount )( 
  145.             IAMPlayListItem __RPC_FAR * This,
  146.             /* [out] */ DWORD __RPC_FAR *pdwSources);
  147.         
  148.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceURL )( 
  149.             IAMPlayListItem __RPC_FAR * This,
  150.             /* [in] */ DWORD dwSourceIndex,
  151.             /* [out] */ BSTR __RPC_FAR *pbstrURL);
  152.         
  153.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStart )( 
  154.             IAMPlayListItem __RPC_FAR * This,
  155.             /* [in] */ DWORD dwSourceIndex,
  156.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart);
  157.         
  158.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceDuration )( 
  159.             IAMPlayListItem __RPC_FAR * This,
  160.             /* [in] */ DWORD dwSourceIndex,
  161.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration);
  162.         
  163.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStartMarker )( 
  164.             IAMPlayListItem __RPC_FAR * This,
  165.             /* [in] */ DWORD dwSourceIndex,
  166.             /* [out] */ DWORD __RPC_FAR *pdwMarker);
  167.         
  168.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceEndMarker )( 
  169.             IAMPlayListItem __RPC_FAR * This,
  170.             /* [in] */ DWORD dwSourceIndex,
  171.             /* [out] */ DWORD __RPC_FAR *pdwMarker);
  172.         
  173.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStartMarkerName )( 
  174.             IAMPlayListItem __RPC_FAR * This,
  175.             /* [in] */ DWORD dwSourceIndex,
  176.             /* [out] */ BSTR __RPC_FAR *pbstrStartMarker);
  177.         
  178.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceEndMarkerName )( 
  179.             IAMPlayListItem __RPC_FAR * This,
  180.             /* [in] */ DWORD dwSourceIndex,
  181.             /* [out] */ BSTR __RPC_FAR *pbstrEndMarker);
  182.         
  183.         END_INTERFACE
  184.     } IAMPlayListItemVtbl;
  185.  
  186.     interface IAMPlayListItem
  187.     {
  188.         CONST_VTBL struct IAMPlayListItemVtbl __RPC_FAR *lpVtbl;
  189.     };
  190.  
  191.     
  192.  
  193. #ifdef COBJMACROS
  194.  
  195.  
  196. #define IAMPlayListItem_QueryInterface(This,riid,ppvObject)    \
  197.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  198.  
  199. #define IAMPlayListItem_AddRef(This)    \
  200.     (This)->lpVtbl -> AddRef(This)
  201.  
  202. #define IAMPlayListItem_Release(This)    \
  203.     (This)->lpVtbl -> Release(This)
  204.  
  205.  
  206. #define IAMPlayListItem_GetFlags(This,pdwFlags)    \
  207.     (This)->lpVtbl -> GetFlags(This,pdwFlags)
  208.  
  209. #define IAMPlayListItem_GetSourceCount(This,pdwSources)    \
  210.     (This)->lpVtbl -> GetSourceCount(This,pdwSources)
  211.  
  212. #define IAMPlayListItem_GetSourceURL(This,dwSourceIndex,pbstrURL)    \
  213.     (This)->lpVtbl -> GetSourceURL(This,dwSourceIndex,pbstrURL)
  214.  
  215. #define IAMPlayListItem_GetSourceStart(This,dwSourceIndex,prtStart)    \
  216.     (This)->lpVtbl -> GetSourceStart(This,dwSourceIndex,prtStart)
  217.  
  218. #define IAMPlayListItem_GetSourceDuration(This,dwSourceIndex,prtDuration)    \
  219.     (This)->lpVtbl -> GetSourceDuration(This,dwSourceIndex,prtDuration)
  220.  
  221. #define IAMPlayListItem_GetSourceStartMarker(This,dwSourceIndex,pdwMarker)    \
  222.     (This)->lpVtbl -> GetSourceStartMarker(This,dwSourceIndex,pdwMarker)
  223.  
  224. #define IAMPlayListItem_GetSourceEndMarker(This,dwSourceIndex,pdwMarker)    \
  225.     (This)->lpVtbl -> GetSourceEndMarker(This,dwSourceIndex,pdwMarker)
  226.  
  227. #define IAMPlayListItem_GetSourceStartMarkerName(This,dwSourceIndex,pbstrStartMarker)    \
  228.     (This)->lpVtbl -> GetSourceStartMarkerName(This,dwSourceIndex,pbstrStartMarker)
  229.  
  230. #define IAMPlayListItem_GetSourceEndMarkerName(This,dwSourceIndex,pbstrEndMarker)    \
  231.     (This)->lpVtbl -> GetSourceEndMarkerName(This,dwSourceIndex,pbstrEndMarker)
  232.  
  233. #endif /* COBJMACROS */
  234.  
  235.  
  236. #endif     /* C style interface */
  237.  
  238.  
  239.  
  240. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetFlags_Proxy( 
  241.     IAMPlayListItem __RPC_FAR * This,
  242.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  243.  
  244.  
  245. void __RPC_STUB IAMPlayListItem_GetFlags_Stub(
  246.     IRpcStubBuffer *This,
  247.     IRpcChannelBuffer *_pRpcChannelBuffer,
  248.     PRPC_MESSAGE _pRpcMessage,
  249.     DWORD *_pdwStubPhase);
  250.  
  251.  
  252. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceCount_Proxy( 
  253.     IAMPlayListItem __RPC_FAR * This,
  254.     /* [out] */ DWORD __RPC_FAR *pdwSources);
  255.  
  256.  
  257. void __RPC_STUB IAMPlayListItem_GetSourceCount_Stub(
  258.     IRpcStubBuffer *This,
  259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  260.     PRPC_MESSAGE _pRpcMessage,
  261.     DWORD *_pdwStubPhase);
  262.  
  263.  
  264. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceURL_Proxy( 
  265.     IAMPlayListItem __RPC_FAR * This,
  266.     /* [in] */ DWORD dwSourceIndex,
  267.     /* [out] */ BSTR __RPC_FAR *pbstrURL);
  268.  
  269.  
  270. void __RPC_STUB IAMPlayListItem_GetSourceURL_Stub(
  271.     IRpcStubBuffer *This,
  272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  273.     PRPC_MESSAGE _pRpcMessage,
  274.     DWORD *_pdwStubPhase);
  275.  
  276.  
  277. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStart_Proxy( 
  278.     IAMPlayListItem __RPC_FAR * This,
  279.     /* [in] */ DWORD dwSourceIndex,
  280.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart);
  281.  
  282.  
  283. void __RPC_STUB IAMPlayListItem_GetSourceStart_Stub(
  284.     IRpcStubBuffer *This,
  285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  286.     PRPC_MESSAGE _pRpcMessage,
  287.     DWORD *_pdwStubPhase);
  288.  
  289.  
  290. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceDuration_Proxy( 
  291.     IAMPlayListItem __RPC_FAR * This,
  292.     /* [in] */ DWORD dwSourceIndex,
  293.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration);
  294.  
  295.  
  296. void __RPC_STUB IAMPlayListItem_GetSourceDuration_Stub(
  297.     IRpcStubBuffer *This,
  298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  299.     PRPC_MESSAGE _pRpcMessage,
  300.     DWORD *_pdwStubPhase);
  301.  
  302.  
  303. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStartMarker_Proxy( 
  304.     IAMPlayListItem __RPC_FAR * This,
  305.     /* [in] */ DWORD dwSourceIndex,
  306.     /* [out] */ DWORD __RPC_FAR *pdwMarker);
  307.  
  308.  
  309. void __RPC_STUB IAMPlayListItem_GetSourceStartMarker_Stub(
  310.     IRpcStubBuffer *This,
  311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  312.     PRPC_MESSAGE _pRpcMessage,
  313.     DWORD *_pdwStubPhase);
  314.  
  315.  
  316. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceEndMarker_Proxy( 
  317.     IAMPlayListItem __RPC_FAR * This,
  318.     /* [in] */ DWORD dwSourceIndex,
  319.     /* [out] */ DWORD __RPC_FAR *pdwMarker);
  320.  
  321.  
  322. void __RPC_STUB IAMPlayListItem_GetSourceEndMarker_Stub(
  323.     IRpcStubBuffer *This,
  324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  325.     PRPC_MESSAGE _pRpcMessage,
  326.     DWORD *_pdwStubPhase);
  327.  
  328.  
  329. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStartMarkerName_Proxy( 
  330.     IAMPlayListItem __RPC_FAR * This,
  331.     /* [in] */ DWORD dwSourceIndex,
  332.     /* [out] */ BSTR __RPC_FAR *pbstrStartMarker);
  333.  
  334.  
  335. void __RPC_STUB IAMPlayListItem_GetSourceStartMarkerName_Stub(
  336.     IRpcStubBuffer *This,
  337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  338.     PRPC_MESSAGE _pRpcMessage,
  339.     DWORD *_pdwStubPhase);
  340.  
  341.  
  342. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceEndMarkerName_Proxy( 
  343.     IAMPlayListItem __RPC_FAR * This,
  344.     /* [in] */ DWORD dwSourceIndex,
  345.     /* [out] */ BSTR __RPC_FAR *pbstrEndMarker);
  346.  
  347.  
  348. void __RPC_STUB IAMPlayListItem_GetSourceEndMarkerName_Stub(
  349.     IRpcStubBuffer *This,
  350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  351.     PRPC_MESSAGE _pRpcMessage,
  352.     DWORD *_pdwStubPhase);
  353.  
  354.  
  355.  
  356. #endif     /* __IAMPlayListItem_INTERFACE_DEFINED__ */
  357.  
  358.  
  359. /****************************************
  360.  * Generated header for interface: __MIDL_itf_playlist_0227
  361.  * at Thu Nov 13 19:28:41 1997
  362.  * using MIDL 3.02.88
  363.  ****************************************/
  364. /* [local] */ 
  365.  
  366.  
  367.  
  368. enum AMPlayListFlags
  369.     {    AMPLAYLISTITEM_STARTINSCANMODE    = 0x1
  370.     };
  371. EXTERN_GUID(IID_IAMPlayList,0x56a868fe,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  372.  
  373.  
  374. extern RPC_IF_HANDLE __MIDL_itf_playlist_0227_v0_0_c_ifspec;
  375. extern RPC_IF_HANDLE __MIDL_itf_playlist_0227_v0_0_s_ifspec;
  376.  
  377. #ifndef __IAMPlayList_INTERFACE_DEFINED__
  378. #define __IAMPlayList_INTERFACE_DEFINED__
  379.  
  380. /****************************************
  381.  * Generated header for interface: IAMPlayList
  382.  * at Thu Nov 13 19:28:41 1997
  383.  * using MIDL 3.02.88
  384.  ****************************************/
  385. /* [unique][uuid][object] */ 
  386.  
  387.  
  388.  
  389. EXTERN_C const IID IID_IAMPlayList;
  390.  
  391. #if defined(__cplusplus) && !defined(CINTERFACE)
  392.     
  393.     interface DECLSPEC_UUID("56a868fe-0ad4-11ce-b03a-0020af0ba770")
  394.     IAMPlayList : public IUnknown
  395.     {
  396.     public:
  397.         virtual HRESULT STDMETHODCALLTYPE GetFlags( 
  398.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  399.         
  400.         virtual HRESULT STDMETHODCALLTYPE GetItemCount( 
  401.             /* [out] */ DWORD __RPC_FAR *pdwItems) = 0;
  402.         
  403.         virtual HRESULT STDMETHODCALLTYPE GetItem( 
  404.             /* [in] */ DWORD dwItemIndex,
  405.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem) = 0;
  406.         
  407.         virtual HRESULT STDMETHODCALLTYPE GetRepeatInfo( 
  408.             /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  409.             /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  410.             /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd) = 0;
  411.         
  412.         virtual HRESULT STDMETHODCALLTYPE GetScanDuration( 
  413.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration) = 0;
  414.         
  415.     };
  416.     
  417. #else     /* C style interface */
  418.  
  419.     typedef struct IAMPlayListVtbl
  420.     {
  421.         BEGIN_INTERFACE
  422.         
  423.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  424.             IAMPlayList __RPC_FAR * This,
  425.             /* [in] */ REFIID riid,
  426.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  427.         
  428.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  429.             IAMPlayList __RPC_FAR * This);
  430.         
  431.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  432.             IAMPlayList __RPC_FAR * This);
  433.         
  434.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFlags )( 
  435.             IAMPlayList __RPC_FAR * This,
  436.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  437.         
  438.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetItemCount )( 
  439.             IAMPlayList __RPC_FAR * This,
  440.             /* [out] */ DWORD __RPC_FAR *pdwItems);
  441.         
  442.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetItem )( 
  443.             IAMPlayList __RPC_FAR * This,
  444.             /* [in] */ DWORD dwItemIndex,
  445.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem);
  446.         
  447.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRepeatInfo )( 
  448.             IAMPlayList __RPC_FAR * This,
  449.             /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  450.             /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  451.             /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd);
  452.         
  453.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScanDuration )( 
  454.             IAMPlayList __RPC_FAR * This,
  455.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration);
  456.         
  457.         END_INTERFACE
  458.     } IAMPlayListVtbl;
  459.  
  460.     interface IAMPlayList
  461.     {
  462.         CONST_VTBL struct IAMPlayListVtbl __RPC_FAR *lpVtbl;
  463.     };
  464.  
  465.     
  466.  
  467. #ifdef COBJMACROS
  468.  
  469.  
  470. #define IAMPlayList_QueryInterface(This,riid,ppvObject)    \
  471.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  472.  
  473. #define IAMPlayList_AddRef(This)    \
  474.     (This)->lpVtbl -> AddRef(This)
  475.  
  476. #define IAMPlayList_Release(This)    \
  477.     (This)->lpVtbl -> Release(This)
  478.  
  479.  
  480. #define IAMPlayList_GetFlags(This,pdwFlags)    \
  481.     (This)->lpVtbl -> GetFlags(This,pdwFlags)
  482.  
  483. #define IAMPlayList_GetItemCount(This,pdwItems)    \
  484.     (This)->lpVtbl -> GetItemCount(This,pdwItems)
  485.  
  486. #define IAMPlayList_GetItem(This,dwItemIndex,ppItem)    \
  487.     (This)->lpVtbl -> GetItem(This,dwItemIndex,ppItem)
  488.  
  489. #define IAMPlayList_GetRepeatInfo(This,pdwRepeatCount,pdwRepeatStart,pdwRepeatEnd)    \
  490.     (This)->lpVtbl -> GetRepeatInfo(This,pdwRepeatCount,pdwRepeatStart,pdwRepeatEnd)
  491.  
  492. #define IAMPlayList_GetScanDuration(This,prtScanDuration)    \
  493.     (This)->lpVtbl -> GetScanDuration(This,prtScanDuration)
  494.  
  495. #endif /* COBJMACROS */
  496.  
  497.  
  498. #endif     /* C style interface */
  499.  
  500.  
  501.  
  502. HRESULT STDMETHODCALLTYPE IAMPlayList_GetFlags_Proxy( 
  503.     IAMPlayList __RPC_FAR * This,
  504.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  505.  
  506.  
  507. void __RPC_STUB IAMPlayList_GetFlags_Stub(
  508.     IRpcStubBuffer *This,
  509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  510.     PRPC_MESSAGE _pRpcMessage,
  511.     DWORD *_pdwStubPhase);
  512.  
  513.  
  514. HRESULT STDMETHODCALLTYPE IAMPlayList_GetItemCount_Proxy( 
  515.     IAMPlayList __RPC_FAR * This,
  516.     /* [out] */ DWORD __RPC_FAR *pdwItems);
  517.  
  518.  
  519. void __RPC_STUB IAMPlayList_GetItemCount_Stub(
  520.     IRpcStubBuffer *This,
  521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  522.     PRPC_MESSAGE _pRpcMessage,
  523.     DWORD *_pdwStubPhase);
  524.  
  525.  
  526. HRESULT STDMETHODCALLTYPE IAMPlayList_GetItem_Proxy( 
  527.     IAMPlayList __RPC_FAR * This,
  528.     /* [in] */ DWORD dwItemIndex,
  529.     /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem);
  530.  
  531.  
  532. void __RPC_STUB IAMPlayList_GetItem_Stub(
  533.     IRpcStubBuffer *This,
  534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  535.     PRPC_MESSAGE _pRpcMessage,
  536.     DWORD *_pdwStubPhase);
  537.  
  538.  
  539. HRESULT STDMETHODCALLTYPE IAMPlayList_GetRepeatInfo_Proxy( 
  540.     IAMPlayList __RPC_FAR * This,
  541.     /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  542.     /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  543.     /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd);
  544.  
  545.  
  546. void __RPC_STUB IAMPlayList_GetRepeatInfo_Stub(
  547.     IRpcStubBuffer *This,
  548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  549.     PRPC_MESSAGE _pRpcMessage,
  550.     DWORD *_pdwStubPhase);
  551.  
  552.  
  553. HRESULT STDMETHODCALLTYPE IAMPlayList_GetScanDuration_Proxy( 
  554.     IAMPlayList __RPC_FAR * This,
  555.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration);
  556.  
  557.  
  558. void __RPC_STUB IAMPlayList_GetScanDuration_Stub(
  559.     IRpcStubBuffer *This,
  560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  561.     PRPC_MESSAGE _pRpcMessage,
  562.     DWORD *_pdwStubPhase);
  563.  
  564.  
  565.  
  566. #endif     /* __IAMPlayList_INTERFACE_DEFINED__ */
  567.  
  568.  
  569. /* Additional Prototypes for ALL interfaces */
  570.  
  571. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  572. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  573. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  574. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  575.  
  576. /* end of Additional Prototypes */
  577.  
  578. #ifdef __cplusplus
  579. }
  580. #endif
  581.  
  582. #endif
  583. #pragma option pop /*P_O_Pop*/
  584.