home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / playlist.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  19KB  |  582 lines

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