ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

dyngraph.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.