Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygendyngraph.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2002 Robert Shearman 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 interface IPinConnection; 00020 interface IPinFlowControl; 00021 interface IGraphConfig; 00022 interface IGraphConfigCallback; 00023 00024 [ 00025 local, 00026 object, 00027 uuid(4a9a62d3-27d4-403d-91e9-89f540e55534), 00028 pointer_default(unique) 00029 ] 00030 interface IPinConnection : IUnknown 00031 { 00032 HRESULT DynamicQueryAccept([in] const AM_MEDIA_TYPE *pmt); 00033 00034 HRESULT NotifyEndOfStream([in] HANDLE hNotifyEvent); 00035 00036 HRESULT IsEndPin(); 00037 00038 HRESULT DynamicDisconnect(); 00039 } 00040 00041 [ 00042 local, 00043 object, 00044 uuid(c56e9858-dbf3-4f6b-8119-384af2060deb), 00045 pointer_default(unique) 00046 ] 00047 interface IPinFlowControl : IUnknown 00048 { 00049 HRESULT Block([in] DWORD dwBlockFlags, [in] HANDLE hEvent); 00050 } 00051 00052 enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS 00053 { 00054 AM_PIN_FLOW_CONTROL_BLOCK = 0x00000001, 00055 }; 00056 00057 typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS 00058 { 00059 AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x00000001, 00060 AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x00000002, 00061 AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x00000004 00062 } AM_GRAPH_CONFIG_RECONNECT_FLAGS; 00063 00064 enum _REM_FILTER_FLAGS 00065 { 00066 REMFILTERF_LEAVECONNECTED = 0x00000001 00067 }; 00068 00069 typedef enum _AM_FILTER_FLAGS 00070 { 00071 AM_FILTER_FLAGS_REMOVABLE = 0x00000001 00072 } AM_FILTER_FLAGS; 00073 00074 [ 00075 local, 00076 object, 00077 uuid(03A1EB8E-32BF-4245-8502-114D08A9CB88), 00078 pointer_default(unique) 00079 ] 00080 interface IGraphConfig : IUnknown 00081 { 00082 HRESULT Reconnect( 00083 [in] IPin *pOutputPin, 00084 [in] IPin *pInputPin, 00085 [in] const AM_MEDIA_TYPE *pmtFirstConnection, 00086 [in] IBaseFilter *pUsingFilter, 00087 [in] HANDLE hAbortEvent, 00088 [in] DWORD dwFlags); 00089 00090 HRESULT Reconfigure( 00091 [in] IGraphConfigCallback *pCallback, 00092 [in] PVOID pvContext, 00093 [in] DWORD dwFlags, 00094 [in] HANDLE hAbortEvent); 00095 00096 HRESULT AddFilterToCache([in] IBaseFilter *pFilter); 00097 00098 HRESULT EnumCacheFilter([out] IEnumFilters **pEnum); 00099 00100 HRESULT RemoveFilterFromCache([in]IBaseFilter *pFilter); 00101 00102 HRESULT GetStartTime([out] REFERENCE_TIME *prtStart); 00103 00104 HRESULT PushThroughData( 00105 [in] IPin *pOutputPin, 00106 [in] IPinConnection *pConnection, 00107 [in] HANDLE hEventAbort); 00108 00109 HRESULT SetFilterFlags([in] IBaseFilter *pFilter, [in] DWORD dwFlags); 00110 00111 HRESULT GetFilterFlags([in] IBaseFilter *pFilter, [out] DWORD *pdwFlags); 00112 00113 HRESULT RemoveFilterEx([in] IBaseFilter *pFilter, DWORD Flags); 00114 } 00115 00116 [ 00117 local, 00118 object, 00119 uuid(ade0fd60-d19d-11d2-abf6-00a0c905f375), 00120 pointer_default(unique) 00121 ] 00122 interface IGraphConfigCallback : IUnknown 00123 { 00124 HRESULT Reconfigure(PVOID pvContext, DWORD dwFlags); 00125 } 00126 00127 [ 00128 local, 00129 object, 00130 uuid(DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29), 00131 pointer_default(unique) 00132 ] 00133 interface IFilterChain : IUnknown 00134 { 00135 HRESULT StartChain( 00136 [in] IBaseFilter *pStartFilter, 00137 [in] IBaseFilter *pEndFilter); 00138 00139 HRESULT PauseChain( 00140 [in] IBaseFilter *pStartFilter, 00141 [in] IBaseFilter *pEndFilter); 00142 00143 HRESULT StopChain( 00144 [in] IBaseFilter *pStartFilter, 00145 [in] IBaseFilter *pEndFilter); 00146 00147 HRESULT RemoveChain( 00148 [in] IBaseFilter *pStartFilter, 00149 [in] IBaseFilter *pEndFilter); 00150 } Generated on Sun May 27 2012 04:30:43 for ReactOS by
1.7.6.1
|