home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the 3D Game Programming Gurus / gurus.iso / DirectX / dx9sdkcp.exe / SDK (C++) / Include / playlist.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-11-12  |  26.1 KB  |  850 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 5.03.0279 */
  8. /* at Sat Jul 31 00:39:47 1999
  9.  */
  10. /* Compiler settings for playlist.idl:
  11.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext, robust
  12.     error checks: allocation ref bounds_check enum stub_data 
  13.     VC __declspec() decoration level: 
  14.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  15.          DECLSPEC_UUID(), MIDL_INTERFACE()
  16. */
  17. //@@MIDL_FILE_HEADING(  )
  18.  
  19.  
  20. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  21. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  22. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  23. #endif
  24.  
  25. #include "rpc.h"
  26. #include "rpcndr.h"
  27.  
  28. #ifndef __RPCNDR_H_VERSION__
  29. #error this stub requires an updated version of <rpcndr.h>
  30. #endif // __RPCNDR_H_VERSION__
  31.  
  32. #ifndef COM_NO_WINDOWS_H
  33. #include "windows.h"
  34. #include "ole2.h"
  35. #endif /*COM_NO_WINDOWS_H*/
  36.  
  37. #ifndef __playlist_h__
  38. #define __playlist_h__
  39.  
  40. /* Forward Declarations */ 
  41.  
  42. #ifndef __IAMPlayListItem_FWD_DEFINED__
  43. #define __IAMPlayListItem_FWD_DEFINED__
  44. typedef interface IAMPlayListItem IAMPlayListItem;
  45. #endif     /* __IAMPlayListItem_FWD_DEFINED__ */
  46.  
  47.  
  48. #ifndef __IAMPlayList_FWD_DEFINED__
  49. #define __IAMPlayList_FWD_DEFINED__
  50. typedef interface IAMPlayList IAMPlayList;
  51. #endif     /* __IAMPlayList_FWD_DEFINED__ */
  52.  
  53.  
  54. #ifndef __ISpecifyParticularPages_FWD_DEFINED__
  55. #define __ISpecifyParticularPages_FWD_DEFINED__
  56. typedef interface ISpecifyParticularPages ISpecifyParticularPages;
  57. #endif     /* __ISpecifyParticularPages_FWD_DEFINED__ */
  58.  
  59.  
  60. #ifndef __IAMRebuild_FWD_DEFINED__
  61. #define __IAMRebuild_FWD_DEFINED__
  62. typedef interface IAMRebuild IAMRebuild;
  63. #endif     /* __IAMRebuild_FWD_DEFINED__ */
  64.  
  65.  
  66. /* header files for imported files */
  67. #include "unknwn.h"
  68. #include "strmif.h"
  69.  
  70. #ifdef __cplusplus
  71. extern "C"{
  72. #endif 
  73.  
  74. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  75. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  76.  
  77. /* interface __MIDL_itf_playlist_0000 */
  78. /* [local] */ 
  79.  
  80.  
  81. enum AMPlayListItemFlags
  82.     {    AMPLAYLISTITEM_CANSKIP    = 0x1,
  83.     AMPLAYLISTITEM_CANBIND    = 0x2
  84.     };
  85.  
  86.  
  87. extern RPC_IF_HANDLE __MIDL_itf_playlist_0000_v0_0_c_ifspec;
  88. extern RPC_IF_HANDLE __MIDL_itf_playlist_0000_v0_0_s_ifspec;
  89.  
  90. #ifndef __IAMPlayListItem_INTERFACE_DEFINED__
  91. #define __IAMPlayListItem_INTERFACE_DEFINED__
  92.  
  93. /* interface IAMPlayListItem */
  94. /* [unique][uuid][object] */ 
  95.  
  96.  
  97. EXTERN_C const IID IID_IAMPlayListItem;
  98.  
  99. #if defined(__cplusplus) && !defined(CINTERFACE)
  100.     
  101.     MIDL_INTERFACE("56a868ff-0ad4-11ce-b03a-0020af0ba770")
  102.     IAMPlayListItem : public IUnknown
  103.     {
  104.     public:
  105.         virtual HRESULT STDMETHODCALLTYPE GetFlags( 
  106.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  107.         
  108.         virtual HRESULT STDMETHODCALLTYPE GetSourceCount( 
  109.             /* [out] */ DWORD __RPC_FAR *pdwSources) = 0;
  110.         
  111.         virtual HRESULT STDMETHODCALLTYPE GetSourceURL( 
  112.             /* [in] */ DWORD dwSourceIndex,
  113.             /* [out] */ BSTR __RPC_FAR *pbstrURL) = 0;
  114.         
  115.         virtual HRESULT STDMETHODCALLTYPE GetSourceStart( 
  116.             /* [in] */ DWORD dwSourceIndex,
  117.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart) = 0;
  118.         
  119.         virtual HRESULT STDMETHODCALLTYPE GetSourceDuration( 
  120.             /* [in] */ DWORD dwSourceIndex,
  121.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration) = 0;
  122.         
  123.         virtual HRESULT STDMETHODCALLTYPE GetSourceStartMarker( 
  124.             /* [in] */ DWORD dwSourceIndex,
  125.             /* [out] */ DWORD __RPC_FAR *pdwMarker) = 0;
  126.         
  127.         virtual HRESULT STDMETHODCALLTYPE GetSourceEndMarker( 
  128.             /* [in] */ DWORD dwSourceIndex,
  129.             /* [out] */ DWORD __RPC_FAR *pdwMarker) = 0;
  130.         
  131.         virtual HRESULT STDMETHODCALLTYPE GetSourceStartMarkerName( 
  132.             /* [in] */ DWORD dwSourceIndex,
  133.             /* [out] */ BSTR __RPC_FAR *pbstrStartMarker) = 0;
  134.         
  135.         virtual HRESULT STDMETHODCALLTYPE GetSourceEndMarkerName( 
  136.             /* [in] */ DWORD dwSourceIndex,
  137.             /* [out] */ BSTR __RPC_FAR *pbstrEndMarker) = 0;
  138.         
  139.         virtual HRESULT STDMETHODCALLTYPE GetLinkURL( 
  140.             /* [out] */ BSTR __RPC_FAR *pbstrURL) = 0;
  141.         
  142.         virtual HRESULT STDMETHODCALLTYPE GetScanDuration( 
  143.             /* [in] */ DWORD dwSourceIndex,
  144.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration) = 0;
  145.         
  146.     };
  147.     
  148. #else     /* C style interface */
  149.  
  150.     typedef struct IAMPlayListItemVtbl
  151.     {
  152.         BEGIN_INTERFACE
  153.         
  154.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  155.             IAMPlayListItem __RPC_FAR * This,
  156.             /* [in] */ REFIID riid,
  157.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  158.         
  159.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  160.             IAMPlayListItem __RPC_FAR * This);
  161.         
  162.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  163.             IAMPlayListItem __RPC_FAR * This);
  164.         
  165.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFlags )( 
  166.             IAMPlayListItem __RPC_FAR * This,
  167.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  168.         
  169.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceCount )( 
  170.             IAMPlayListItem __RPC_FAR * This,
  171.             /* [out] */ DWORD __RPC_FAR *pdwSources);
  172.         
  173.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceURL )( 
  174.             IAMPlayListItem __RPC_FAR * This,
  175.             /* [in] */ DWORD dwSourceIndex,
  176.             /* [out] */ BSTR __RPC_FAR *pbstrURL);
  177.         
  178.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStart )( 
  179.             IAMPlayListItem __RPC_FAR * This,
  180.             /* [in] */ DWORD dwSourceIndex,
  181.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart);
  182.         
  183.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceDuration )( 
  184.             IAMPlayListItem __RPC_FAR * This,
  185.             /* [in] */ DWORD dwSourceIndex,
  186.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration);
  187.         
  188.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStartMarker )( 
  189.             IAMPlayListItem __RPC_FAR * This,
  190.             /* [in] */ DWORD dwSourceIndex,
  191.             /* [out] */ DWORD __RPC_FAR *pdwMarker);
  192.         
  193.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceEndMarker )( 
  194.             IAMPlayListItem __RPC_FAR * This,
  195.             /* [in] */ DWORD dwSourceIndex,
  196.             /* [out] */ DWORD __RPC_FAR *pdwMarker);
  197.         
  198.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStartMarkerName )( 
  199.             IAMPlayListItem __RPC_FAR * This,
  200.             /* [in] */ DWORD dwSourceIndex,
  201.             /* [out] */ BSTR __RPC_FAR *pbstrStartMarker);
  202.         
  203.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceEndMarkerName )( 
  204.             IAMPlayListItem __RPC_FAR * This,
  205.             /* [in] */ DWORD dwSourceIndex,
  206.             /* [out] */ BSTR __RPC_FAR *pbstrEndMarker);
  207.         
  208.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLinkURL )( 
  209.             IAMPlayListItem __RPC_FAR * This,
  210.             /* [out] */ BSTR __RPC_FAR *pbstrURL);
  211.         
  212.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScanDuration )( 
  213.             IAMPlayListItem __RPC_FAR * This,
  214.             /* [in] */ DWORD dwSourceIndex,
  215.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration);
  216.         
  217.         END_INTERFACE
  218.     } IAMPlayListItemVtbl;
  219.  
  220.     interface IAMPlayListItem
  221.     {
  222.         CONST_VTBL struct IAMPlayListItemVtbl __RPC_FAR *lpVtbl;
  223.     };
  224.  
  225.     
  226.  
  227. #ifdef COBJMACROS
  228.  
  229.  
  230. #define IAMPlayListItem_QueryInterface(This,riid,ppvObject)    \
  231.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  232.  
  233. #define IAMPlayListItem_AddRef(This)    \
  234.     (This)->lpVtbl -> AddRef(This)
  235.  
  236. #define IAMPlayListItem_Release(This)    \
  237.     (This)->lpVtbl -> Release(This)
  238.  
  239.  
  240. #define IAMPlayListItem_GetFlags(This,pdwFlags)    \
  241.     (This)->lpVtbl -> GetFlags(This,pdwFlags)
  242.  
  243. #define IAMPlayListItem_GetSourceCount(This,pdwSources)    \
  244.     (This)->lpVtbl -> GetSourceCount(This,pdwSources)
  245.  
  246. #define IAMPlayListItem_GetSourceURL(This,dwSourceIndex,pbstrURL)    \
  247.     (This)->lpVtbl -> GetSourceURL(This,dwSourceIndex,pbstrURL)
  248.  
  249. #define IAMPlayListItem_GetSourceStart(This,dwSourceIndex,prtStart)    \
  250.     (This)->lpVtbl -> GetSourceStart(This,dwSourceIndex,prtStart)
  251.  
  252. #define IAMPlayListItem_GetSourceDuration(This,dwSourceIndex,prtDuration)    \
  253.     (This)->lpVtbl -> GetSourceDuration(This,dwSourceIndex,prtDuration)
  254.  
  255. #define IAMPlayListItem_GetSourceStartMarker(This,dwSourceIndex,pdwMarker)    \
  256.     (This)->lpVtbl -> GetSourceStartMarker(This,dwSourceIndex,pdwMarker)
  257.  
  258. #define IAMPlayListItem_GetSourceEndMarker(This,dwSourceIndex,pdwMarker)    \
  259.     (This)->lpVtbl -> GetSourceEndMarker(This,dwSourceIndex,pdwMarker)
  260.  
  261. #define IAMPlayListItem_GetSourceStartMarkerName(This,dwSourceIndex,pbstrStartMarker)    \
  262.     (This)->lpVtbl -> GetSourceStartMarkerName(This,dwSourceIndex,pbstrStartMarker)
  263.  
  264. #define IAMPlayListItem_GetSourceEndMarkerName(This,dwSourceIndex,pbstrEndMarker)    \
  265.     (This)->lpVtbl -> GetSourceEndMarkerName(This,dwSourceIndex,pbstrEndMarker)
  266.  
  267. #define IAMPlayListItem_GetLinkURL(This,pbstrURL)    \
  268.     (This)->lpVtbl -> GetLinkURL(This,pbstrURL)
  269.  
  270. #define IAMPlayListItem_GetScanDuration(This,dwSourceIndex,prtScanDuration)    \
  271.     (This)->lpVtbl -> GetScanDuration(This,dwSourceIndex,prtScanDuration)
  272.  
  273. #endif /* COBJMACROS */
  274.  
  275.  
  276. #endif     /* C style interface */
  277.  
  278.  
  279.  
  280. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetFlags_Proxy( 
  281.     IAMPlayListItem __RPC_FAR * This,
  282.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  283.  
  284.  
  285. void __RPC_STUB IAMPlayListItem_GetFlags_Stub(
  286.     IRpcStubBuffer *This,
  287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  288.     PRPC_MESSAGE _pRpcMessage,
  289.     DWORD *_pdwStubPhase);
  290.  
  291.  
  292. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceCount_Proxy( 
  293.     IAMPlayListItem __RPC_FAR * This,
  294.     /* [out] */ DWORD __RPC_FAR *pdwSources);
  295.  
  296.  
  297. void __RPC_STUB IAMPlayListItem_GetSourceCount_Stub(
  298.     IRpcStubBuffer *This,
  299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  300.     PRPC_MESSAGE _pRpcMessage,
  301.     DWORD *_pdwStubPhase);
  302.  
  303.  
  304. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceURL_Proxy( 
  305.     IAMPlayListItem __RPC_FAR * This,
  306.     /* [in] */ DWORD dwSourceIndex,
  307.     /* [out] */ BSTR __RPC_FAR *pbstrURL);
  308.  
  309.  
  310. void __RPC_STUB IAMPlayListItem_GetSourceURL_Stub(
  311.     IRpcStubBuffer *This,
  312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  313.     PRPC_MESSAGE _pRpcMessage,
  314.     DWORD *_pdwStubPhase);
  315.  
  316.  
  317. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStart_Proxy( 
  318.     IAMPlayListItem __RPC_FAR * This,
  319.     /* [in] */ DWORD dwSourceIndex,
  320.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart);
  321.  
  322.  
  323. void __RPC_STUB IAMPlayListItem_GetSourceStart_Stub(
  324.     IRpcStubBuffer *This,
  325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  326.     PRPC_MESSAGE _pRpcMessage,
  327.     DWORD *_pdwStubPhase);
  328.  
  329.  
  330. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceDuration_Proxy( 
  331.     IAMPlayListItem __RPC_FAR * This,
  332.     /* [in] */ DWORD dwSourceIndex,
  333.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration);
  334.  
  335.  
  336. void __RPC_STUB IAMPlayListItem_GetSourceDuration_Stub(
  337.     IRpcStubBuffer *This,
  338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  339.     PRPC_MESSAGE _pRpcMessage,
  340.     DWORD *_pdwStubPhase);
  341.  
  342.  
  343. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStartMarker_Proxy( 
  344.     IAMPlayListItem __RPC_FAR * This,
  345.     /* [in] */ DWORD dwSourceIndex,
  346.     /* [out] */ DWORD __RPC_FAR *pdwMarker);
  347.  
  348.  
  349. void __RPC_STUB IAMPlayListItem_GetSourceStartMarker_Stub(
  350.     IRpcStubBuffer *This,
  351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  352.     PRPC_MESSAGE _pRpcMessage,
  353.     DWORD *_pdwStubPhase);
  354.  
  355.  
  356. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceEndMarker_Proxy( 
  357.     IAMPlayListItem __RPC_FAR * This,
  358.     /* [in] */ DWORD dwSourceIndex,
  359.     /* [out] */ DWORD __RPC_FAR *pdwMarker);
  360.  
  361.  
  362. void __RPC_STUB IAMPlayListItem_GetSourceEndMarker_Stub(
  363.     IRpcStubBuffer *This,
  364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  365.     PRPC_MESSAGE _pRpcMessage,
  366.     DWORD *_pdwStubPhase);
  367.  
  368.  
  369. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStartMarkerName_Proxy( 
  370.     IAMPlayListItem __RPC_FAR * This,
  371.     /* [in] */ DWORD dwSourceIndex,
  372.     /* [out] */ BSTR __RPC_FAR *pbstrStartMarker);
  373.  
  374.  
  375. void __RPC_STUB IAMPlayListItem_GetSourceStartMarkerName_Stub(
  376.     IRpcStubBuffer *This,
  377.     IRpcChannelBuffer *_pRpcChannelBuffer,
  378.     PRPC_MESSAGE _pRpcMessage,
  379.     DWORD *_pdwStubPhase);
  380.  
  381.  
  382. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceEndMarkerName_Proxy( 
  383.     IAMPlayListItem __RPC_FAR * This,
  384.     /* [in] */ DWORD dwSourceIndex,
  385.     /* [out] */ BSTR __RPC_FAR *pbstrEndMarker);
  386.  
  387.  
  388. void __RPC_STUB IAMPlayListItem_GetSourceEndMarkerName_Stub(
  389.     IRpcStubBuffer *This,
  390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  391.     PRPC_MESSAGE _pRpcMessage,
  392.     DWORD *_pdwStubPhase);
  393.  
  394.  
  395. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetLinkURL_Proxy( 
  396.     IAMPlayListItem __RPC_FAR * This,
  397.     /* [out] */ BSTR __RPC_FAR *pbstrURL);
  398.  
  399.  
  400. void __RPC_STUB IAMPlayListItem_GetLinkURL_Stub(
  401.     IRpcStubBuffer *This,
  402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  403.     PRPC_MESSAGE _pRpcMessage,
  404.     DWORD *_pdwStubPhase);
  405.  
  406.  
  407. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetScanDuration_Proxy( 
  408.     IAMPlayListItem __RPC_FAR * This,
  409.     /* [in] */ DWORD dwSourceIndex,
  410.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration);
  411.  
  412.  
  413. void __RPC_STUB IAMPlayListItem_GetScanDuration_Stub(
  414.     IRpcStubBuffer *This,
  415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  416.     PRPC_MESSAGE _pRpcMessage,
  417.     DWORD *_pdwStubPhase);
  418.  
  419.  
  420.  
  421. #endif     /* __IAMPlayListItem_INTERFACE_DEFINED__ */
  422.  
  423.  
  424. /* interface __MIDL_itf_playlist_0348 */
  425. /* [local] */ 
  426.  
  427.  
  428. enum AMPlayListFlags
  429.     {    AMPLAYLIST_STARTINSCANMODE    = 0x1,
  430.     AMPLAYLIST_FORCEBANNER    = 0x2
  431.     };
  432.  
  433. enum AMPlayListEventFlags
  434.     {    AMPLAYLISTEVENT_RESUME    = 0,
  435.     AMPLAYLISTEVENT_BREAK    = 0x1,
  436.     AMPLAYLISTEVENT_NEXT    = 0x2,
  437.     AMPLAYLISTEVENT_MASK    = 0xf,
  438.     AMPLAYLISTEVENT_REFRESH    = 0x10
  439.     };
  440.  
  441.  
  442. extern RPC_IF_HANDLE __MIDL_itf_playlist_0348_v0_0_c_ifspec;
  443. extern RPC_IF_HANDLE __MIDL_itf_playlist_0348_v0_0_s_ifspec;
  444.  
  445. #ifndef __IAMPlayList_INTERFACE_DEFINED__
  446. #define __IAMPlayList_INTERFACE_DEFINED__
  447.  
  448. /* interface IAMPlayList */
  449. /* [unique][uuid][object] */ 
  450.  
  451.  
  452. EXTERN_C const IID IID_IAMPlayList;
  453.  
  454. #if defined(__cplusplus) && !defined(CINTERFACE)
  455.     
  456.     MIDL_INTERFACE("56a868fe-0ad4-11ce-b03a-0020af0ba770")
  457.     IAMPlayList : public IUnknown
  458.     {
  459.     public:
  460.         virtual HRESULT STDMETHODCALLTYPE GetFlags( 
  461.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  462.         
  463.         virtual HRESULT STDMETHODCALLTYPE GetItemCount( 
  464.             /* [out] */ DWORD __RPC_FAR *pdwItems) = 0;
  465.         
  466.         virtual HRESULT STDMETHODCALLTYPE GetItem( 
  467.             /* [in] */ DWORD dwItemIndex,
  468.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem) = 0;
  469.         
  470.         virtual HRESULT STDMETHODCALLTYPE GetNamedEvent( 
  471.             /* [in] */ WCHAR __RPC_FAR *pwszEventName,
  472.             /* [in] */ DWORD dwItemIndex,
  473.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem,
  474.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  475.         
  476.         virtual HRESULT STDMETHODCALLTYPE GetRepeatInfo( 
  477.             /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  478.             /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  479.             /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd) = 0;
  480.         
  481.     };
  482.     
  483. #else     /* C style interface */
  484.  
  485.     typedef struct IAMPlayListVtbl
  486.     {
  487.         BEGIN_INTERFACE
  488.         
  489.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  490.             IAMPlayList __RPC_FAR * This,
  491.             /* [in] */ REFIID riid,
  492.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  493.         
  494.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  495.             IAMPlayList __RPC_FAR * This);
  496.         
  497.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  498.             IAMPlayList __RPC_FAR * This);
  499.         
  500.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFlags )( 
  501.             IAMPlayList __RPC_FAR * This,
  502.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  503.         
  504.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetItemCount )( 
  505.             IAMPlayList __RPC_FAR * This,
  506.             /* [out] */ DWORD __RPC_FAR *pdwItems);
  507.         
  508.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetItem )( 
  509.             IAMPlayList __RPC_FAR * This,
  510.             /* [in] */ DWORD dwItemIndex,
  511.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem);
  512.         
  513.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNamedEvent )( 
  514.             IAMPlayList __RPC_FAR * This,
  515.             /* [in] */ WCHAR __RPC_FAR *pwszEventName,
  516.             /* [in] */ DWORD dwItemIndex,
  517.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem,
  518.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  519.         
  520.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRepeatInfo )( 
  521.             IAMPlayList __RPC_FAR * This,
  522.             /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  523.             /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  524.             /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd);
  525.         
  526.         END_INTERFACE
  527.     } IAMPlayListVtbl;
  528.  
  529.     interface IAMPlayList
  530.     {
  531.         CONST_VTBL struct IAMPlayListVtbl __RPC_FAR *lpVtbl;
  532.     };
  533.  
  534.     
  535.  
  536. #ifdef COBJMACROS
  537.  
  538.  
  539. #define IAMPlayList_QueryInterface(This,riid,ppvObject)    \
  540.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  541.  
  542. #define IAMPlayList_AddRef(This)    \
  543.     (This)->lpVtbl -> AddRef(This)
  544.  
  545. #define IAMPlayList_Release(This)    \
  546.     (This)->lpVtbl -> Release(This)
  547.  
  548.  
  549. #define IAMPlayList_GetFlags(This,pdwFlags)    \
  550.     (This)->lpVtbl -> GetFlags(This,pdwFlags)
  551.  
  552. #define IAMPlayList_GetItemCount(This,pdwItems)    \
  553.     (This)->lpVtbl -> GetItemCount(This,pdwItems)
  554.  
  555. #define IAMPlayList_GetItem(This,dwItemIndex,ppItem)    \
  556.     (This)->lpVtbl -> GetItem(This,dwItemIndex,ppItem)
  557.  
  558. #define IAMPlayList_GetNamedEvent(This,pwszEventName,dwItemIndex,ppItem,pdwFlags)    \
  559.     (This)->lpVtbl -> GetNamedEvent(This,pwszEventName,dwItemIndex,ppItem,pdwFlags)
  560.  
  561. #define IAMPlayList_GetRepeatInfo(This,pdwRepeatCount,pdwRepeatStart,pdwRepeatEnd)    \
  562.     (This)->lpVtbl -> GetRepeatInfo(This,pdwRepeatCount,pdwRepeatStart,pdwRepeatEnd)
  563.  
  564. #endif /* COBJMACROS */
  565.  
  566.  
  567. #endif     /* C style interface */
  568.  
  569.  
  570.  
  571. HRESULT STDMETHODCALLTYPE IAMPlayList_GetFlags_Proxy( 
  572.     IAMPlayList __RPC_FAR * This,
  573.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  574.  
  575.  
  576. void __RPC_STUB IAMPlayList_GetFlags_Stub(
  577.     IRpcStubBuffer *This,
  578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  579.     PRPC_MESSAGE _pRpcMessage,
  580.     DWORD *_pdwStubPhase);
  581.  
  582.  
  583. HRESULT STDMETHODCALLTYPE IAMPlayList_GetItemCount_Proxy( 
  584.     IAMPlayList __RPC_FAR * This,
  585.     /* [out] */ DWORD __RPC_FAR *pdwItems);
  586.  
  587.  
  588. void __RPC_STUB IAMPlayList_GetItemCount_Stub(
  589.     IRpcStubBuffer *This,
  590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  591.     PRPC_MESSAGE _pRpcMessage,
  592.     DWORD *_pdwStubPhase);
  593.  
  594.  
  595. HRESULT STDMETHODCALLTYPE IAMPlayList_GetItem_Proxy( 
  596.     IAMPlayList __RPC_FAR * This,
  597.     /* [in] */ DWORD dwItemIndex,
  598.     /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem);
  599.  
  600.  
  601. void __RPC_STUB IAMPlayList_GetItem_Stub(
  602.     IRpcStubBuffer *This,
  603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  604.     PRPC_MESSAGE _pRpcMessage,
  605.     DWORD *_pdwStubPhase);
  606.  
  607.  
  608. HRESULT STDMETHODCALLTYPE IAMPlayList_GetNamedEvent_Proxy( 
  609.     IAMPlayList __RPC_FAR * This,
  610.     /* [in] */ WCHAR __RPC_FAR *pwszEventName,
  611.     /* [in] */ DWORD dwItemIndex,
  612.     /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem,
  613.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  614.  
  615.  
  616. void __RPC_STUB IAMPlayList_GetNamedEvent_Stub(
  617.     IRpcStubBuffer *This,
  618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  619.     PRPC_MESSAGE _pRpcMessage,
  620.     DWORD *_pdwStubPhase);
  621.  
  622.  
  623. HRESULT STDMETHODCALLTYPE IAMPlayList_GetRepeatInfo_Proxy( 
  624.     IAMPlayList __RPC_FAR * This,
  625.     /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  626.     /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  627.     /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd);
  628.  
  629.  
  630. void __RPC_STUB IAMPlayList_GetRepeatInfo_Stub(
  631.     IRpcStubBuffer *This,
  632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  633.     PRPC_MESSAGE _pRpcMessage,
  634.     DWORD *_pdwStubPhase);
  635.  
  636.  
  637.  
  638. #endif     /* __IAMPlayList_INTERFACE_DEFINED__ */
  639.  
  640.  
  641. #ifndef __ISpecifyParticularPages_INTERFACE_DEFINED__
  642. #define __ISpecifyParticularPages_INTERFACE_DEFINED__
  643.  
  644. /* interface ISpecifyParticularPages */
  645. /* [object][helpstring][uuid] */ 
  646.  
  647.  
  648. EXTERN_C const IID IID_ISpecifyParticularPages;
  649.  
  650. #if defined(__cplusplus) && !defined(CINTERFACE)
  651.     
  652.     MIDL_INTERFACE("4C437B91-6E9E-11d1-A704-006097C4E476")
  653.     ISpecifyParticularPages : public IUnknown
  654.     {
  655.     public:
  656.         virtual HRESULT STDMETHODCALLTYPE GetPages( 
  657.             /* [in] */ REFGUID guidWhatPages,
  658.             /* [out] */ CAUUID __RPC_FAR *pPages) = 0;
  659.         
  660.     };
  661.     
  662. #else     /* C style interface */
  663.  
  664.     typedef struct ISpecifyParticularPagesVtbl
  665.     {
  666.         BEGIN_INTERFACE
  667.         
  668.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  669.             ISpecifyParticularPages __RPC_FAR * This,
  670.             /* [in] */ REFIID riid,
  671.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  672.         
  673.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  674.             ISpecifyParticularPages __RPC_FAR * This);
  675.         
  676.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  677.             ISpecifyParticularPages __RPC_FAR * This);
  678.         
  679.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPages )( 
  680.             ISpecifyParticularPages __RPC_FAR * This,
  681.             /* [in] */ REFGUID guidWhatPages,
  682.             /* [out] */ CAUUID __RPC_FAR *pPages);
  683.         
  684.         END_INTERFACE
  685.     } ISpecifyParticularPagesVtbl;
  686.  
  687.     interface ISpecifyParticularPages
  688.     {
  689.         CONST_VTBL struct ISpecifyParticularPagesVtbl __RPC_FAR *lpVtbl;
  690.     };
  691.  
  692.     
  693.  
  694. #ifdef COBJMACROS
  695.  
  696.  
  697. #define ISpecifyParticularPages_QueryInterface(This,riid,ppvObject)    \
  698.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  699.  
  700. #define ISpecifyParticularPages_AddRef(This)    \
  701.     (This)->lpVtbl -> AddRef(This)
  702.  
  703. #define ISpecifyParticularPages_Release(This)    \
  704.     (This)->lpVtbl -> Release(This)
  705.  
  706.  
  707. #define ISpecifyParticularPages_GetPages(This,guidWhatPages,pPages)    \
  708.     (This)->lpVtbl -> GetPages(This,guidWhatPages,pPages)
  709.  
  710. #endif /* COBJMACROS */
  711.  
  712.  
  713. #endif     /* C style interface */
  714.  
  715.  
  716.  
  717. HRESULT STDMETHODCALLTYPE ISpecifyParticularPages_GetPages_Proxy( 
  718.     ISpecifyParticularPages __RPC_FAR * This,
  719.     /* [in] */ REFGUID guidWhatPages,
  720.     /* [out] */ CAUUID __RPC_FAR *pPages);
  721.  
  722.  
  723. void __RPC_STUB ISpecifyParticularPages_GetPages_Stub(
  724.     IRpcStubBuffer *This,
  725.     IRpcChannelBuffer *_pRpcChannelBuffer,
  726.     PRPC_MESSAGE _pRpcMessage,
  727.     DWORD *_pdwStubPhase);
  728.  
  729.  
  730.  
  731. #endif     /* __ISpecifyParticularPages_INTERFACE_DEFINED__ */
  732.  
  733.  
  734. #ifndef __IAMRebuild_INTERFACE_DEFINED__
  735. #define __IAMRebuild_INTERFACE_DEFINED__
  736.  
  737. /* interface IAMRebuild */
  738. /* [object][helpstring][uuid][local] */ 
  739.  
  740.  
  741. EXTERN_C const IID IID_IAMRebuild;
  742.  
  743. #if defined(__cplusplus) && !defined(CINTERFACE)
  744.     
  745.     MIDL_INTERFACE("02EF04DD-7580-11d1-BECE-00C04FB6E937")
  746.     IAMRebuild : public IUnknown
  747.     {
  748.     public:
  749.         virtual HRESULT STDMETHODCALLTYPE RebuildNow( void) = 0;
  750.         
  751.     };
  752.     
  753. #else     /* C style interface */
  754.  
  755.     typedef struct IAMRebuildVtbl
  756.     {
  757.         BEGIN_INTERFACE
  758.         
  759.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  760.             IAMRebuild __RPC_FAR * This,
  761.             /* [in] */ REFIID riid,
  762.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  763.         
  764.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  765.             IAMRebuild __RPC_FAR * This);
  766.         
  767.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  768.             IAMRebuild __RPC_FAR * This);
  769.         
  770.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RebuildNow )( 
  771.             IAMRebuild __RPC_FAR * This);
  772.         
  773.         END_INTERFACE
  774.     } IAMRebuildVtbl;
  775.  
  776.     interface IAMRebuild
  777.     {
  778.         CONST_VTBL struct IAMRebuildVtbl __RPC_FAR *lpVtbl;
  779.     };
  780.  
  781.     
  782.  
  783. #ifdef COBJMACROS
  784.  
  785.  
  786. #define IAMRebuild_QueryInterface(This,riid,ppvObject)    \
  787.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  788.  
  789. #define IAMRebuild_AddRef(This)    \
  790.     (This)->lpVtbl -> AddRef(This)
  791.  
  792. #define IAMRebuild_Release(This)    \
  793.     (This)->lpVtbl -> Release(This)
  794.  
  795.  
  796. #define IAMRebuild_RebuildNow(This)    \
  797.     (This)->lpVtbl -> RebuildNow(This)
  798.  
  799. #endif /* COBJMACROS */
  800.  
  801.  
  802. #endif     /* C style interface */
  803.  
  804.  
  805.  
  806. HRESULT STDMETHODCALLTYPE IAMRebuild_RebuildNow_Proxy( 
  807.     IAMRebuild __RPC_FAR * This);
  808.  
  809.  
  810. void __RPC_STUB IAMRebuild_RebuildNow_Stub(
  811.     IRpcStubBuffer *This,
  812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  813.     PRPC_MESSAGE _pRpcMessage,
  814.     DWORD *_pdwStubPhase);
  815.  
  816.  
  817.  
  818. #endif     /* __IAMRebuild_INTERFACE_DEFINED__ */
  819.  
  820.  
  821. /* interface __MIDL_itf_playlist_0351 */
  822. /* [local] */ 
  823.  
  824. EXTERN_GUID(IID_IAMPlayListItem,0x56a868ff,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  825. EXTERN_GUID(IID_IAMRebuild,0x2ef04dd,0x7580,0x11d1,0xbe,0xce,0x0,0xc0,0x4f,0xb6,0xe9,0x37);
  826. EXTERN_GUID(IID_IAMPlayList,0x56a868fe,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  827. EXTERN_GUID(SPECIFYPAGES_STATISTICS,0x4c437b92,0x6e9e,0x11d1,0xa7,0x4,0x0,0x60,0x97,0xc4,0xe4,0x76);
  828. EXTERN_GUID(IID_ISpecifyParticularPages,0x4c437b91,0x6e9e,0x11d1,0xa7,0x4,0x0,0x60,0x97,0xc4,0xe4,0x76);
  829.  
  830.  
  831. extern RPC_IF_HANDLE __MIDL_itf_playlist_0351_v0_0_c_ifspec;
  832. extern RPC_IF_HANDLE __MIDL_itf_playlist_0351_v0_0_s_ifspec;
  833.  
  834. /* Additional Prototypes for ALL interfaces */
  835.  
  836. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  837. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  838. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  839. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  840.  
  841. /* end of Additional Prototypes */
  842.  
  843. #ifdef __cplusplus
  844. }
  845. #endif
  846.  
  847. #endif
  848.  
  849.  
  850.