source: trunk/include/win/strmif.h@ 10367

Last change on this file since 10367 was 6952, checked in by sandervl, 24 years ago

Wine 20011004 resync

File size: 74.0 KB
Line 
1//#ifndef __WINE__
2#include "rpc.h"
3//#include "rpcndr.h"
4#ifndef COM_NO_WINDOWS_H
5#include "windows.h"
6#include "ole2.h"
7#endif
8//#endif
9
10#ifndef __WINE_STRMIF_H_
11#define __WINE_STRMIF_H_
12
13#include "ole2.h"
14#include "wine/obj_oleaut.h"
15#include "wine/obj_property.h"
16#include "wine/obj_ksproperty.h"
17
18/* undef GetTimeFormat - FIXME? */
19#undef GetTimeFormat
20
21/* FIXME - far from complete. */
22
23/* forward decls. */
24
25typedef struct IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
26typedef struct IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
27typedef struct IAMAudioInputMixer IAMAudioInputMixer;
28typedef struct IAMAudioRendererStats IAMAudioRendererStats;
29typedef struct IAMBufferNegotiation IAMBufferNegotiation;
30typedef struct IAMCameraControl IAMCameraControl;
31typedef struct IAMClockAdjust IAMClockAdjust;
32typedef struct IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
33typedef struct IAMCrossbar IAMCrossbar;
34typedef struct IAMDeviceRemoval IAMDeviceRemoval;
35typedef struct IAMDevMemoryAllocator IAMDevMemoryAllocator;
36typedef struct IAMDevMemoryControl IAMDevMemoryControl;
37typedef struct IAMDroppedFrames IAMDroppedFrames;
38typedef struct IAMExtDevice IAMExtDevice;
39typedef struct IAMExtTransport IAMExtTransport;
40typedef struct IAMFilterMiscFlags IAMFilterMiscFlags;
41typedef struct IAMGraphStreams IAMGraphStreams;
42typedef struct IAMLatency IAMLatency;
43typedef struct IAMOpenProgress IAMOpenProgress;
44typedef struct IAMOverlayFX IAMOverlayFX;
45typedef struct IAMovie IAMovie;
46typedef struct IAMovieSetup IAMovieSetup;
47typedef struct IAMPhysicalPinInfo IAMPhysicalPinInfo;
48typedef struct IAMPushSource IAMPushSource;
49typedef struct IAMResourceControl IAMResourceControl;
50typedef struct IAMStreamConfig IAMStreamConfig;
51typedef struct IAMStreamControl IAMStreamControl;
52typedef struct IAMStreamSelect IAMStreamSelect;
53typedef struct IAMTimecodeDisplay IAMTimecodeDisplay;
54typedef struct IAMTimecodeGenerator IAMTimecodeGenerator;
55typedef struct IAMTimecodeReader IAMTimecodeReader;
56typedef struct IAMTuner IAMTuner;
57typedef struct IAMTunerNotification IAMTunerNotification;
58typedef struct IAMTVAudio IAMTVAudio;
59typedef struct IAMTVAudioNotification IAMTVAudioNotification;
60typedef struct IAMTVTuner IAMTVTuner;
61typedef struct IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
62typedef struct IAMVfwCompressDialogs IAMVfwCompressDialogs;
63typedef struct IAMVideoCompression IAMVideoCompression;
64typedef struct IAMVideoControl IAMVideoControl;
65typedef struct IAMVideoDecimationProperties IAMVideoDecimationProperties;
66typedef struct IAMVideoProcAmp IAMVideoProcAmp;
67typedef struct IAsyncReader IAsyncReader;
68typedef struct IMediaFilter IMediaFilter;
69typedef struct IBaseFilter IBaseFilter;
70typedef struct IBPCSatelliteTuner IBPCSatelliteTuner;
71typedef struct ICaptureGraphBuilder ICaptureGraphBuilder;
72typedef struct ICaptureGraphBuilder2 ICaptureGraphBuilder2;
73typedef struct IConfigAviMux IConfigAviMux;
74typedef struct IConfigInterleaving IConfigInterleaving;
75typedef struct ICreateDevEnum ICreateDevEnum;
76typedef struct IDDrawExclModeVideo IDDrawExclModeVideo;
77typedef struct IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
78typedef struct IDecimateVideoImage IDecimateVideoImage;
79typedef struct IDistributorNotify IDistributorNotify;
80typedef struct IDrawVideoImage IDrawVideoImage;
81typedef struct IDvdCmd IDvdCmd;
82typedef struct IDvdControl IDvdControl;
83typedef struct IDvdControl2 IDvdControl2;
84typedef struct IDvdGraphBuilder IDvdGraphBuilder;
85typedef struct IDvdInfo IDvdInfo;
86typedef struct IDvdInfo2 IDvdInfo2;
87typedef struct IDvdState IDvdState;
88typedef struct IDVEnc IDVEnc;
89typedef struct IDVSplitter IDVSplitter;
90typedef struct IEnumFilters IEnumFilters;
91typedef struct IEnumMediaTypes IEnumMediaTypes;
92typedef struct IEnumPins IEnumPins;
93typedef struct IEnumRegFilters IEnumRegFilters;
94typedef struct IEnumStreamIdMap IEnumStreamIdMap;
95typedef struct IFileSinkFilter IFileSinkFilter;
96typedef struct IFileSinkFilter2 IFileSinkFilter2;
97typedef struct IFileSourceFilter IFileSourceFilter;
98typedef struct IFilterChain IFilterChain;
99typedef struct IFilterGraph IFilterGraph;
100typedef struct IFilterGraph2 IFilterGraph2;
101typedef struct IFilterMapper IFilterMapper;
102typedef struct IFilterMapper2 IFilterMapper2;
103typedef struct IFilterMapper3 IFilterMapper3;
104typedef struct IGraphBuilder IGraphBuilder;
105typedef struct IGraphConfig IGraphConfig;
106typedef struct IGraphConfigCallback IGraphConfigCallback;
107typedef struct IGraphVersion IGraphVersion;
108typedef struct IIPDVDec IIPDVDec;
109typedef struct IMediaEventSink IMediaEventSink;
110typedef struct IMediaPropertyBag IMediaPropertyBag;
111typedef struct IMediaSample IMediaSample;
112typedef struct IMediaSample2 IMediaSample2;
113typedef struct IMediaSeeking IMediaSeeking;
114typedef struct IMemAllocator IMemAllocator;
115typedef struct IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
116typedef struct IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
117typedef struct IMemInputPin IMemInputPin;
118typedef struct IMpeg2Demultiplexer IMpeg2Demultiplexer;
119typedef struct IMPEG2StreamIdMap IMPEG2StreamIdMap;
120typedef struct IOverlay IOverlay;
121typedef struct IOverlayNotify IOverlayNotify;
122typedef struct IOverlayNotify2 IOverlayNotify2;
123typedef struct IPersistMediaPropertyBag IPersistMediaPropertyBag;
124typedef struct IPin IPin;
125typedef struct IPinConnection IPinConnection;
126typedef struct IPinFlowControl IPinFlowControl;
127typedef struct IQualityControl IQualityControl;
128typedef struct IReferenceClock IReferenceClock;
129typedef struct IReferenceClock2 IReferenceClock2;
130typedef struct IResourceConsumer IResourceConsumer;
131typedef struct IResourceManager IResourceManager;
132typedef struct ISeekingPassThru ISeekingPassThru;
133typedef struct IStreamBuilder IStreamBuilder;
134typedef struct IVideoFrameStep IVideoFrameStep;
135
136/* GUIDs. */
137
138DEFINE_GUID(IID_IAMAnalogVideoDecoder,0xC6E13350,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
139DEFINE_GUID(IID_IAMAnalogVideoEncoder,0xC6E133B0,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
140DEFINE_GUID(IID_IAMAudioInputMixer,0x54C39221,0x8380,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
141DEFINE_GUID(IID_IAMAudioRendererStats,0x22320CB2,0xD41A,0x11D2,0xBF,0x7C,0xD7,0xCB,0x9D,0xF0,0xBF,0x93);
142DEFINE_GUID(IID_IAMBufferNegotiation,0x56ED71A0,0xAF5F,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
143DEFINE_GUID(IID_IAMCameraControl,0xC6E13370,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
144DEFINE_GUID(IID_IAMClockAdjust,0x4D5466B0,0xA49C,0x11D1,0xAB,0xE8,0x00,0xA0,0xC9,0x05,0xF3,0x75);
145DEFINE_GUID(IID_IAMCopyCaptureFileProgress,0x670D1D20,0xA068,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
146DEFINE_GUID(IID_IAMCrossbar,0xC6E13380,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
147DEFINE_GUID(IID_IAMDeviceRemoval,0xF90A6130,0xB658,0x11D2,0xAE,0x49,0x00,0x00,0xF8,0x75,0x4B,0x99);
148DEFINE_GUID(IID_IAMDevMemoryAllocator,0xC6545BF0,0xE76B,0x11D0,0xBD,0x52,0x00,0xA0,0xC9,0x11,0xCE,0x86);
149DEFINE_GUID(IID_IAMDevMemoryControl,0xC6545BF1,0xE76B,0x11D0,0xBD,0x52,0x00,0xA0,0xC9,0x11,0xCE,0x86);
150DEFINE_GUID(IID_IAMDroppedFrames,0xC6E13344,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
151DEFINE_GUID(IID_IAMExtDevice,0xB5730A90,0x1A2C,0x11CF,0x8C,0x23,0x00,0xAA,0x00,0x6B,0x68,0x14);
152DEFINE_GUID(IID_IAMExtTransport,0xA03CD5F0,0x3045,0x11CF,0x8C,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14);
153DEFINE_GUID(IID_IAMFilterMiscFlags,0x2DD74950,0xA890,0x11D1,0xAB,0xE8,0x00,0xA0,0xC9,0x05,0xF3,0x75);
154DEFINE_GUID(IID_IAMGraphStreams,0x632105FA,0x072E,0x11D3,0x8A,0xF9,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
155DEFINE_GUID(IID_IAMLatency,0x62EA93BA,0xEC62,0x11D2,0xB7,0x70,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
156DEFINE_GUID(IID_IAMOpenProgress,0x8E1C39A1,0xDE53,0x11CF,0xAA,0x63,0x00,0x80,0xC7,0x44,0x52,0x8D);
157DEFINE_GUID(IID_IAMOverlayFX,0x62FAE250,0x7E65,0x4460,0xBF,0xC9,0x63,0x98,0xB3,0x22,0x07,0x3C);
158DEFINE_GUID(IID_IAMovie,0x359ACE10,0x7688,0x11CF,0x8B,0x23,0x00,0x80,0x5F,0x6C,0xEF,0x60);
159DEFINE_GUID(IID_IAMovieSetup,0xA3D8CEC0,0x7E5A,0x11CF,0xBB,0xC5,0x00,0x80,0x5F,0x6C,0xEF,0x20);
160DEFINE_GUID(IID_IAMPhysicalPinInfo,0xF938C991,0x3029,0x11CF,0x8C,0x44,0x00,0xAA,0x00,0x6B,0x68,0x14);
161DEFINE_GUID(IID_IAMPushSource,0xF185FE76,0xE64E,0x11D2,0xB7,0x6E,0x00,0xC0,0x4F,0xB6,0xBD,0x3D);
162DEFINE_GUID(IID_IAMResourceControl,0x8389D2D0,0x77D7,0x11D1,0xAB,0xE6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
163DEFINE_GUID(IID_IAMStreamConfig,0xC6E13340,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
164DEFINE_GUID(IID_IAMStreamControl,0x36B73881,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
165DEFINE_GUID(IID_IAMStreamSelect,0xC1960960,0x17F5,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
166DEFINE_GUID(IID_IAMTimecodeDisplay,0x9B496CE2,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
167DEFINE_GUID(IID_IAMTimecodeGenerator,0x9B496CE0,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
168DEFINE_GUID(IID_IAMTimecodeReader,0x9B496CE1,0x811B,0x11CF,0x8C,0x77,0x00,0xAA,0x00,0x6B,0x68,0x14);
169DEFINE_GUID(IID_IAMTuner,0x211A8761,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
170DEFINE_GUID(IID_IAMTunerNotification,0x211A8760,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
171DEFINE_GUID(IID_IAMTVAudio,0x83EC1C30,0x23D1,0x11D1,0x99,0xE6,0x00,0xA0,0xC9,0x56,0x02,0x66);
172DEFINE_GUID(IID_IAMTVAudioNotification,0x83EC1C33,0x23D1,0x11D1,0x99,0xE6,0x00,0xA0,0xC9,0x56,0x02,0x66);
173DEFINE_GUID(IID_IAMTVTuner,0x211A8766,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
174DEFINE_GUID(IID_IAMVfwCaptureDialogs,0xD8D715A0,0x6E5E,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
175DEFINE_GUID(IID_IAMVfwCompressDialogs,0xD8D715A3,0x6E5E,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
176DEFINE_GUID(IID_IAMVideoCompression,0xC6E13343,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
177DEFINE_GUID(IID_IAMVideoControl,0x6A2E0670,0x28E4,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
178DEFINE_GUID(IID_IAMVideoDecimationProperties,0x60D32930,0x13DA,0x11D3,0x9E,0xC6,0xC4,0xFC,0xAE,0xF5,0xC7,0xBE);
179DEFINE_GUID(IID_IAMVideoProcAmp,0xC6E13360,0x30AC,0x11D0,0xA1,0x8C,0x00,0xA0,0xC9,0x11,0x89,0x56);
180DEFINE_GUID(IID_IAsyncReader,0x56A868AA,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
181DEFINE_GUID(IID_IMediaFilter,0x56A86899,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
182DEFINE_GUID(IID_IBaseFilter,0x56A86895,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
183DEFINE_GUID(IID_IBPCSatelliteTuner,0x211A8765,0x03AC,0x11D1,0x8D,0x13,0x00,0xAA,0x00,0xBD,0x83,0x39);
184DEFINE_GUID(IID_ICaptureGraphBuilder,0xBF87B6E0,0x8C27,0x11D0,0xB3,0xF0,0x00,0xAA,0x00,0x37,0x61,0xC5);
185DEFINE_GUID(IID_ICaptureGraphBuilder2,0x93E5A4E0,0x2D50,0x11D2,0xAB,0xFA,0x00,0xA0,0xC9,0xC6,0xE3,0x8D);
186DEFINE_GUID(IID_IConfigAviMux,0x5ACD6AA0,0xF482,0x11CE,0x8B,0x67,0x00,0xAA,0x00,0xA3,0xF1,0xA6);
187DEFINE_GUID(IID_IConfigInterleaving,0xBEE3D220,0x157B,0x11D0,0xBD,0x23,0x00,0xA0,0xC9,0x11,0xCE,0x86);
188DEFINE_GUID(IID_ICreateDevEnum,0x29840822,0x5B84,0x11D0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86);
189DEFINE_GUID(IID_IDDrawExclModeVideo,0x153ACC21,0xD83B,0x11D1,0x82,0xBF,0x00,0xA0,0xC9,0x69,0x6C,0x8F);
190DEFINE_GUID(IID_IDDrawExclModeVideoCallback,0x913C24A0,0x20AB,0x11D2,0x90,0x38,0x00,0xA0,0xC9,0x69,0x72,0x98);
191DEFINE_GUID(IID_IDecimateVideoImage,0x2E5EA3E0,0xE924,0x11D2,0xB6,0xDA,0x00,0xA0,0xC9,0x95,0xE8,0xDF);
192DEFINE_GUID(IID_IDistributorNotify,0x56A868AF,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
193DEFINE_GUID(IID_IDrawVideoImage,0x48EFB120,0xAB49,0x11D2,0xAE,0xD2,0x00,0xA0,0xC9,0x95,0xE8,0xD5);
194DEFINE_GUID(IID_IDvdCmd,0x5A4A97E4,0x94EE,0x4A55,0x97,0x51,0x74,0xB5,0x64,0x3A,0xA2,0x7D);
195DEFINE_GUID(IID_IDvdControl,0xA70EFE61,0xE2A3,0x11D0,0xA9,0xBE,0x00,0xAA,0x00,0x61,0xBE,0x93);
196DEFINE_GUID(IID_IDvdControl2,0x33BC7430,0xEEC0,0x11D2,0x82,0x01,0x00,0xA0,0xC9,0xD7,0x48,0x42);
197DEFINE_GUID(IID_IDvdGraphBuilder,0xFCC152B6,0xF372,0x11D0,0x8E,0x00,0x00,0xC0,0x4F,0xD7,0xC0,0x8B);
198DEFINE_GUID(IID_IDvdInfo,0xA70EFE60,0xE2A3,0x11D0,0xA9,0xBE,0x00,0xAA,0x00,0x61,0xBE,0x93);
199DEFINE_GUID(IID_IDvdInfo2,0x34151510,0xEEC0,0x11D2,0x82,0x01,0x00,0xA0,0xC9,0xD7,0x48,0x42);
200DEFINE_GUID(IID_IDvdState,0x86303D6D,0x1C4A,0x4087,0xAB,0x42,0xF7,0x11,0x16,0x70,0x48,0xEF);
201DEFINE_GUID(IID_IDVEnc,0xD18E17A0,0xAACB,0x11D0,0xAF,0xB0,0x00,0xAA,0x00,0xB6,0x7A,0x42);
202DEFINE_GUID(IID_IDVSplitter,0x92A3A302,0xDA7C,0x4A1F,0xBA,0x7E,0x18,0x02,0xBB,0x5D,0x2D,0x02);
203DEFINE_GUID(IID_IEnumFilters,0x56A86893,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
204DEFINE_GUID(IID_IEnumMediaTypes,0x89C31040,0x846B,0x11CE,0x97,0xD3,0x00,0xAA,0x00,0x55,0x59,0x5A);
205DEFINE_GUID(IID_IEnumPins,0x56A86892,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
206DEFINE_GUID(IID_IEnumRegFilters,0x56A868A4,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
207DEFINE_GUID(IID_IEnumStreamIdMap,0x945C1566,0x6202,0x46FC,0x96,0xC7,0xD8,0x7F,0x28,0x9C,0x65,0x34);
208DEFINE_GUID(IID_IFileSinkFilter,0xA2104830,0x7C70,0x11CF,0x8B,0xCE,0x00,0xAA,0x00,0xA3,0xF1,0xA6);
209DEFINE_GUID(IID_IFileSinkFilter2,0x00855B90,0xCE1B,0x11D0,0xBD,0x4F,0x00,0xA0,0xC9,0x11,0xCE,0x86);
210DEFINE_GUID(IID_IFileSourceFilter,0x56A868A6,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
211DEFINE_GUID(IID_IFilterChain,0xDCFBDCF6,0x0DC2,0x45F5,0x9A,0xB2,0x7C,0x33,0x0E,0xA0,0x9C,0x29);
212DEFINE_GUID(IID_IFilterGraph,0x56A8689F,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
213DEFINE_GUID(IID_IFilterGraph2,0x36B73882,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
214DEFINE_GUID(IID_IFilterMapper,0x56A868A3,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
215DEFINE_GUID(IID_IFilterMapper2,0xB79BB0B0,0x33C1,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
216DEFINE_GUID(IID_IFilterMapper3,0xB79BB0B1,0x33C1,0x11D1,0xAB,0xE1,0x00,0xA0,0xC9,0x05,0xF3,0x75);
217DEFINE_GUID(IID_IGraphBuilder,0x56A868A9,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
218DEFINE_GUID(IID_IGraphConfig,0x03A1EB8E,0x32BF,0x4245,0x85,0x02,0x11,0x4D,0x08,0xA9,0xCB,0x88);
219DEFINE_GUID(IID_IGraphConfigCallback,0xADE0FD60,0xD19D,0x11D2,0xAB,0xF6,0x00,0xA0,0xC9,0x05,0xF3,0x75);
220DEFINE_GUID(IID_IGraphVersion,0x56A868AB,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
221DEFINE_GUID(IID_IIPDVDec,0xB8E8BD60,0x0BFE,0x11D0,0xAF,0x91,0x00,0xAA,0x00,0xB6,0x7A,0x42);
222DEFINE_GUID(IID_IMediaEventSink,0x56A868A2,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
223DEFINE_GUID(IID_IMediaPropertyBag,0x6025A880,0xC0D5,0x11D0,0xBD,0x4E,0x00,0xA0,0xC9,0x11,0xCE,0x86);
224DEFINE_GUID(IID_IMediaSample,0x56A8689A,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
225DEFINE_GUID(IID_IMediaSample2,0x36B73884,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
226DEFINE_GUID(IID_IMediaSeeking,0x36B73880,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
227DEFINE_GUID(IID_IMemAllocator,0x56A8689C,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
228DEFINE_GUID(IID_IMemAllocatorCallbackTemp,0x379A0CF0,0xC1DE,0x11D2,0xAB,0xF5,0x00,0xA0,0xC9,0x05,0xF3,0x75);
229DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp,0x92980B30,0xC1DE,0x11D2,0xAB,0xF5,0x00,0xA0,0xC9,0x05,0xF3,0x75);
230DEFINE_GUID(IID_IMemInputPin,0x56A8689D,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
231DEFINE_GUID(IID_IMpeg2Demultiplexer,0x436EEE9C,0x264F,0x4242,0x90,0xE1,0x4E,0x33,0x0C,0x10,0x75,0x12);
232DEFINE_GUID(IID_IMPEG2StreamIdMap,0xD0E04C47,0x25B8,0x4369,0x92,0x5A,0x36,0x2A,0x01,0xD9,0x54,0x44);
233DEFINE_GUID(IID_IOverlay,0x56A868A1,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
234DEFINE_GUID(IID_IOverlayNotify,0x56A868A0,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
235DEFINE_GUID(IID_IOverlayNotify2,0x680EFA10,0xD535,0x11D1,0x87,0xC8,0x00,0xA0,0xC9,0x22,0x31,0x96);
236DEFINE_GUID(IID_IPersistMediaPropertyBag,0x5738E040,0xB67F,0x11D0,0xBD,0x4D,0x00,0xA0,0xC9,0x11,0xCE,0x86);
237DEFINE_GUID(IID_IPin,0x56A86891,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
238DEFINE_GUID(IID_IPinConnection,0x4A9A62D3,0x27D4,0x403D,0x91,0xE9,0x89,0xF5,0x40,0xE5,0x55,0x34);
239DEFINE_GUID(IID_IPinFlowControl,0xC56E9858,0xDBF3,0x4F6B,0x81,0x19,0x38,0x4A,0xF2,0x06,0x0D,0xEB);
240DEFINE_GUID(IID_IQualityControl,0x56A868A5,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
241DEFINE_GUID(IID_IReferenceClock,0x56A86897,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
242DEFINE_GUID(IID_IReferenceClock2,0x36B73885,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
243DEFINE_GUID(IID_IResourceConsumer,0x56A868AD,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
244DEFINE_GUID(IID_IResourceManager,0x56A868AC,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
245DEFINE_GUID(IID_ISeekingPassThru,0x36B73883,0xC2C8,0x11CF,0x8B,0x46,0x00,0x80,0x5F,0x6C,0xEF,0x60);
246DEFINE_GUID(IID_IStreamBuilder,0x56A868BF,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
247DEFINE_GUID(IID_IVideoFrameStep,0xE46A9787,0x2B71,0x444D,0xA4,0xB5,0x1F,0xAB,0x7B,0x70,0x8D,0x6A);
248
249
250#ifndef __WINE_REFTIME_DEFINED_
251#define __WINE_REFTIME_DEFINED_
252typedef double REFTIME;
253#endif /* __WINE_REFTIME_DEFINED_ */
254
255typedef LONGLONG REFERENCE_TIME;
256typedef DWORD_PTR HSEMAPHORE;
257typedef DWORD_PTR HEVENT;
258
259/* enums. */
260
261typedef enum
262{
263 PINDIR_INPUT = 0,
264 PINDIR_OUTPUT = 1,
265} PIN_DIRECTION;
266
267typedef enum
268{
269 State_Stopped = 0,
270 State_Paused = 1,
271 State_Running = 2,
272} FILTER_STATE;
273
274typedef enum
275{
276 Famine = 0,
277 Flood = 1,
278} QualityMessageType;
279
280typedef enum
281{
282 REG_PINFLAG_B_ZERO = 0x1,
283 REG_PINFLAG_B_RENDERER = 0x2,
284 REG_PINFLAG_B_MANY = 0x4,
285 REG_PINFLAG_B_OUTPUT = 0x8,
286} REG_PINFLAG;
287
288typedef enum
289{
290 AM_SAMPLE_SPLICEPOINT = 0x1,
291 AM_SAMPLE_PREROLL = 0x2,
292 AM_SAMPLE_DATADISCONTINUITY = 0x4,
293 AM_SAMPLE_TYPECHANGED = 0x8,
294 AM_SAMPLE_TIMEVALID = 0x10,
295 AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
296 AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
297 AM_SAMPLE_STOPVALID = 0x100,
298 AM_SAMPLE_ENDOFSTREAM = 0x200,
299
300 AM_STREAM_MEDIA = 0,
301 AM_STREAM_CONTROL = 1
302} AM_SAMPLE_PROPERTY_FLAGS;
303
304
305/* structs. */
306
307typedef struct
308{
309 GUID majortype;
310 GUID subtype;
311 BOOL bFixedSizeSamples;
312 BOOL bTemporalCompression;
313 ULONG lSampleSize;
314 GUID formattype;
315 IUnknown* pUnk;
316 ULONG cbFormat;
317 BYTE* pbFormat;
318} AM_MEDIA_TYPE;
319
320typedef struct
321{
322 long cBuffers;
323 long cbBuffer;
324 long cbAlign;
325 long cbPrefix;
326} ALLOCATOR_PROPERTIES;
327
328typedef struct
329{
330 IBaseFilter* pFilter;
331 PIN_DIRECTION dir;
332 WCHAR achName[ 128 ];
333} PIN_INFO;
334
335typedef struct
336{
337 WCHAR achName[ 128 ];
338 IFilterGraph* pGraph;
339} FILTER_INFO;
340
341typedef struct
342{
343 REFERENCE_TIME tStart;
344 REFERENCE_TIME tStop;
345 DWORD dwStartCookie;
346 DWORD dwStopCookie;
347 DWORD dwFlags;
348} AM_STREAM_INFO;
349
350typedef struct tagCOLORKEY
351{
352 DWORD KeyType;
353 DWORD PaletteIndex;
354 COLORREF LowColorValue;
355 COLORREF HighColorValue;
356} COLORKEY;
357
358typedef struct
359{
360 QualityMessageType Type;
361 long Proportion;
362 REFERENCE_TIME Late;
363 REFERENCE_TIME TimeStamp;
364} Quality;
365
366typedef struct
367{
368 const CLSID* clsMajorType;
369 const CLSID* clsMinorType;
370} REGPINTYPES;
371
372typedef struct
373{
374 LPWSTR strName;
375 BOOL bRendered;
376 BOOL bOutput;
377 BOOL bZero;
378 BOOL bMany;
379 const CLSID* clsConnectsToFilter;
380 const WCHAR* strConnectsToPin;
381 UINT nMediaTypes;
382 const REGPINTYPES* lpMediaType;
383} REGFILTERPINS;
384
385typedef struct
386{
387 CLSID clsMedium;
388 DWORD dw1;
389 DWORD dw2;
390} REGPINMEDIUM;
391
392typedef struct
393{
394 DWORD dwFlags;
395 UINT cInstances;
396 UINT nMediaTypes;
397 const REGPINTYPES* lpMediaType;
398 UINT nMediums;
399 const REGPINMEDIUM* lpMedium;
400 const CLSID* clsPinCategory;
401} REGFILTERPINS2;
402
403typedef struct
404{
405 DWORD dwVersion;
406 DWORD dwMerit;
407 union {
408 struct {
409 ULONG cPins;
410 const REGFILTERPINS* rgPins;
411 } DUMMYSTRUCTNAME1;
412 struct {
413 ULONG cPins2;
414 const REGFILTERPINS2* rgPins2;
415 } DUMMYSTRUCTNAME2;
416 } DUMMYUNIONNAME;
417} REGFILTER2;
418
419typedef struct
420{
421 DWORD cbData;
422 DWORD dwTypeSpecificFlags;
423 DWORD dwSampleFlags;
424 LONG lActual;
425 REFERENCE_TIME tStart;
426 REFERENCE_TIME tStop;
427 DWORD dwStreamId;
428 AM_MEDIA_TYPE* pMediaType;
429 BYTE* pbBuffer;
430 LONG cbBuffer;
431} AM_SAMPLE2_PROPERTIES;
432
433
434
435/* defines. */
436
437#define CHARS_IN_GUID 39
438#define MAX_PIN_NAME 128
439#define MAX_FILTER_NAME 128
440
441#define AM_GBF_PREVFRAMESKIPPED 1
442#define AM_GBF_NOTASYNCPOINT 2
443#define AM_GBF_NOWAIT 4
444
445
446/* interfaces. */
447
448/**************************************************************************
449 *
450 * IAsyncReader interface
451 *
452 */
453
454#define ICOM_INTERFACE IAsyncReader
455#define IAsyncReader_METHODS \
456 ICOM_METHOD3(HRESULT,RequestAllocator,IMemAllocator*,a1,ALLOCATOR_PROPERTIES*,a2,IMemAllocator**,a3) \
457 ICOM_METHOD2(HRESULT,Request,IMediaSample*,a1,DWORD_PTR,a2) \
458 ICOM_METHOD3(HRESULT,WaitForNext,DWORD,a1,IMediaSample**,a2,DWORD_PTR*,a3) \
459 ICOM_METHOD1(HRESULT,SyncReadAligned,IMediaSample*,a1) \
460 ICOM_METHOD3(HRESULT,SyncRead,LONGLONG,a1,LONG,a2,BYTE*,a3) \
461 ICOM_METHOD2(HRESULT,Length,LONGLONG*,a1,LONGLONG*,a2) \
462 ICOM_METHOD (HRESULT,BeginFlush) \
463 ICOM_METHOD (HRESULT,EndFlush)
464
465#define IAsyncReader_IMETHODS \
466 IUnknown_IMETHODS \
467 IAsyncReader_METHODS
468
469ICOM_DEFINE(IAsyncReader,IUnknown)
470#undef ICOM_INTERFACE
471
472 /*** IUnknown methods ***/
473#define IAsyncReader_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
474#define IAsyncReader_AddRef(p) ICOM_CALL (AddRef,p)
475#define IAsyncReader_Release(p) ICOM_CALL (Release,p)
476 /*** IAsyncReader methods ***/
477#define IAsyncReader_RequestAllocator(p,a1,a2,a3) ICOM_CALL3(RequestAllocator,p,a1,a2,a3)
478#define IAsyncReader_Request(p,a1,a2) ICOM_CALL2(Request,p,a1,a2)
479#define IAsyncReader_WaitForNext(p,a1,a2,a3) ICOM_CALL3(WaitForNext,p,a1,a2,a3)
480#define IAsyncReader_SyncReadAligned(p,a1) ICOM_CALL1(SyncReadAligned,p,a1)
481#define IAsyncReader_SyncRead(p,a1,a2,a3) ICOM_CALL3(SyncRead,p,a1,a2,a3)
482#define IAsyncReader_Length(p,a1,a2) ICOM_CALL2(Length,p,a1,a2)
483#define IAsyncReader_BeginFlush(p) ICOM_CALL (BeginFlush,p)
484#define IAsyncReader_EndFlush(p) ICOM_CALL (EndFlush,p)
485
486/**************************************************************************
487 *
488 * IMediaFilter interface
489 *
490 */
491
492#define ICOM_INTERFACE IMediaFilter
493#define IMediaFilter_METHODS \
494 ICOM_METHOD (HRESULT,Stop) \
495 ICOM_METHOD (HRESULT,Pause) \
496 ICOM_METHOD1(HRESULT,Run,REFERENCE_TIME,a1) \
497 ICOM_METHOD2(HRESULT,GetState,DWORD,a1,FILTER_STATE*,a2) \
498 ICOM_METHOD1(HRESULT,SetSyncSource,IReferenceClock*,a1) \
499 ICOM_METHOD1(HRESULT,GetSyncSource,IReferenceClock**,a1)
500
501#define IMediaFilter_IMETHODS \
502 IPersist_IMETHODS \
503 IMediaFilter_METHODS
504
505ICOM_DEFINE(IMediaFilter,IPersist)
506#undef ICOM_INTERFACE
507
508 /*** IUnknown methods ***/
509#define IMediaFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
510#define IMediaFilter_AddRef(p) ICOM_CALL (AddRef,p)
511#define IMediaFilter_Release(p) ICOM_CALL (Release,p)
512 /*** IPersist methods ***/
513#define IMediaFilter_GetClassID(p,a1) ICOM_CALL1(GetClassID,p,a1)
514 /*** IMediaFilter methods ***/
515#define IMediaFilter_Stop(p) ICOM_CALL (Stop,p)
516#define IMediaFilter_Pause(p) ICOM_CALL (Pause,p)
517#define IMediaFilter_Run(p,a1) ICOM_CALL1(Run,p,a1)
518#define IMediaFilter_GetState(p,a1,a2) ICOM_CALL2(GetState,p,a1,a2)
519#define IMediaFilter_SetSyncSource(p,a1) ICOM_CALL1(SetSyncSource,p,a1)
520#define IMediaFilter_GetSyncSource(p,a1) ICOM_CALL1(GetSyncSource,p,a1)
521
522/**************************************************************************
523 *
524 * IBaseFilter interface
525 *
526 */
527
528#define ICOM_INTERFACE IBaseFilter
529#define IBaseFilter_METHODS \
530 ICOM_METHOD1(HRESULT,EnumPins,IEnumPins**,a1) \
531 ICOM_METHOD2(HRESULT,FindPin,LPCWSTR,a1,IPin**,a2) \
532 ICOM_METHOD1(HRESULT,QueryFilterInfo,FILTER_INFO*,a1) \
533 ICOM_METHOD2(HRESULT,JoinFilterGraph,IFilterGraph*,a1,LPCWSTR,a2) \
534 ICOM_METHOD1(HRESULT,QueryVendorInfo,LPWSTR*,a1)
535
536#define IBaseFilter_IMETHODS \
537 IMediaFilter_IMETHODS \
538 IBaseFilter_METHODS
539
540ICOM_DEFINE(IBaseFilter,IMediaFilter)
541#undef ICOM_INTERFACE
542
543 /*** IUnknown methods ***/
544#define IBaseFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
545#define IBaseFilter_AddRef(p) ICOM_CALL (AddRef,p)
546#define IBaseFilter_Release(p) ICOM_CALL (Release,p)
547 /*** IPersist methods ***/
548#define IBaseFilter_GetClassID(p,a1) ICOM_CALL1(GetClassID,p,a1)
549 /*** IMediaFilter methods ***/
550#define IBaseFilter_Stop(p) ICOM_CALL (Stop,p)
551#define IBaseFilter_Pause(p) ICOM_CALL (Pause,p)
552#define IBaseFilter_Run(p,a1) ICOM_CALL1(Run,p,a1)
553#define IBaseFilter_GetState(p,a1,a2) ICOM_CALL2(GetState,p,a1,a2)
554#define IBaseFilter_SetSyncSource(p,a1) ICOM_CALL1(SetSyncSource,p,a1)
555#define IBaseFilter_GetSyncSource(p,a1) ICOM_CALL1(GetSyncSource,p,a1)
556 /*** IBaseFilter methods ***/
557#define IBaseFilter_EnumPins(p,a1) ICOM_CALL1(EnumPins,p,a1)
558#define IBaseFilter_FindPin(p,a1,a2) ICOM_CALL2(FindPin,p,a1,a2)
559#define IBaseFilter_QueryFilterInfo(p,a1) ICOM_CALL1(QueryFilterInfo,p,a1)
560#define IBaseFilter_JoinFilterGraph(p,a1,a2) ICOM_CALL2(JoinFilterGraph,p,a1,a2)
561#define IBaseFilter_QueryVendorInfo(p,a1) ICOM_CALL1(QueryVendorInfo,p,a1)
562
563/**************************************************************************
564 *
565 * ICaptureGraphBuilder interface
566 *
567 */
568
569#define ICOM_INTERFACE ICaptureGraphBuilder
570#define ICaptureGraphBuilder_METHODS \
571 ICOM_METHOD1(HRESULT,SetFiltergraph,IGraphBuilder*,a1) \
572 ICOM_METHOD1(HRESULT,GetFiltergraph,IGraphBuilder**,a1) \
573 ICOM_METHOD4(HRESULT,SetOutputFileName,const GUID*,a1,LPCOLESTR,a2,IBaseFilter**,a3,IFileSinkFilter**,a4) \
574 ICOM_METHOD4(HRESULT,FindInterface,const GUID*,a1,IBaseFilter*,a2,REFIID,a3,void**,a4) \
575 ICOM_METHOD4(HRESULT,RenderStream,const GUID*,a1,IUnknown*,a2,IBaseFilter*,a3,IBaseFilter*,a4) \
576 ICOM_METHOD6(HRESULT,ControlStream,const GUID*,a1,IBaseFilter*,a2,REFERENCE_TIME*,a3,REFERENCE_TIME*,a4,WORD,a5,WORD,a6) \
577 ICOM_METHOD2(HRESULT,AllocCapFile,LPCOLESTR,a1,DWORDLONG,a2) \
578 ICOM_METHOD4(HRESULT,CopyCaptureFile,LPOLESTR,a1,LPOLESTR,a2,int,a3,IAMCopyCaptureFileProgress*,a4)
579
580#define ICaptureGraphBuilder_IMETHODS \
581 IUnknown_IMETHODS \
582 ICaptureGraphBuilder_METHODS
583
584ICOM_DEFINE(ICaptureGraphBuilder,IUnknown)
585#undef ICOM_INTERFACE
586
587 /*** IUnknown methods ***/
588#define ICaptureGraphBuilder_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
589#define ICaptureGraphBuilder_AddRef(p) ICOM_CALL (AddRef,p)
590#define ICaptureGraphBuilder_Release(p) ICOM_CALL (Release,p)
591 /*** ICaptureGraphBuilder methods ***/
592#define ICaptureGraphBuilder_SetFiltergraph(p,a1) ICOM_CALL1(SetFiltergraph,p,a1)
593#define ICaptureGraphBuilder_GetFiltergraph(p,a1) ICOM_CALL1(GetFiltergraph,p,a1)
594#define ICaptureGraphBuilder_SetOutputFileName(p,a1,a2,a3,a4) ICOM_CALL4(SetOutputFileName,p,a1,a2,a3,a4)
595#define ICaptureGraphBuilder_FindInterface(p,a1,a2,a3,a4) ICOM_CALL4(FindInterface,p,a1,a2,a3,a4)
596#define ICaptureGraphBuilder_RenderStream(p,a1,a2,a3,a4) ICOM_CALL4(RenderStream,p,a1,a2,a3,a4)
597#define ICaptureGraphBuilder_ControlStream(p,a1,a2,a3,a4,a5,a6) ICOM_CALL6(ControlStream,p,a1,a2,a3,a4,a5,a6)
598#define ICaptureGraphBuilder_AllocCapFile(p,a1,a2) ICOM_CALL2(AllocCapFile,p,a1,a2)
599#define ICaptureGraphBuilder_CopyCaptureFile(p,a1,a2,a3,a4) ICOM_CALL4(CopyCaptureFile,p,a1,a2,a3,a4)
600
601/**************************************************************************
602 *
603 * ICaptureGraphBuilder2 interface
604 *
605 */
606
607#define ICOM_INTERFACE ICaptureGraphBuilder2
608#define ICaptureGraphBuilder2_METHODS \
609 ICOM_METHOD1(HRESULT,SetFiltergraph,IGraphBuilder*,a1) \
610 ICOM_METHOD1(HRESULT,GetFiltergraph,IGraphBuilder**,a1) \
611 ICOM_METHOD4(HRESULT,SetOutputFileName,const GUID*,a1,LPCOLESTR,a2,IBaseFilter**,a3,IFileSinkFilter**,a4) \
612 ICOM_METHOD5(HRESULT,FindInterface,const GUID*,a1,const GUID*,a2,IBaseFilter*,a3,REFIID,a4,void**,a5) \
613 ICOM_METHOD5(HRESULT,RenderStream,const GUID*,a1,const GUID*,a2,IUnknown*,a3,IBaseFilter*,a4,IBaseFilter*,a5) \
614 ICOM_METHOD7(HRESULT,ControlStream,const GUID*,a1,const GUID*,a2,IBaseFilter*,a3,REFERENCE_TIME*,a4,REFERENCE_TIME*,a5,WORD,a6,WORD,a7) \
615 ICOM_METHOD2(HRESULT,AllocCapFile,LPCOLESTR,a1,DWORDLONG,a2) \
616 ICOM_METHOD4(HRESULT,CopyCaptureFile,LPOLESTR,a1,LPOLESTR,a2,int,a3,IAMCopyCaptureFileProgress*,a4) \
617 ICOM_METHOD7(HRESULT,FindPin,IUnknown*,a1,PIN_DIRECTION,a2,const GUID*,a3,const GUID*,a4,BOOL,a5,int,a6,IPin**,a7)
618
619#define ICaptureGraphBuilder2_IMETHODS \
620 IUnknown_IMETHODS \
621 ICaptureGraphBuilder2_METHODS
622
623ICOM_DEFINE(ICaptureGraphBuilder2,IUnknown)
624#undef ICOM_INTERFACE
625
626 /*** IUnknown methods ***/
627#define ICaptureGraphBuilder2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
628#define ICaptureGraphBuilder2_AddRef(p) ICOM_CALL (AddRef,p)
629#define ICaptureGraphBuilder2_Release(p) ICOM_CALL (Release,p)
630 /*** ICaptureGraphBuilder2 methods ***/
631#define ICaptureGraphBuilder2_SetFiltergraph(p,a1) ICOM_CALL1(SetFiltergraph,p,a1)
632#define ICaptureGraphBuilder2_GetFiltergraph(p,a1) ICOM_CALL1(GetFiltergraph,p,a1)
633#define ICaptureGraphBuilder2_SetOutputFileName(p,a1,a2,a3,a4) ICOM_CALL4(SetOutputFileName,p,a1,a2,a3,a4)
634#define ICaptureGraphBuilder2_FindInterface(p,a1,a2,a3,a4,a5) ICOM_CALL5(FindInterface,p,a1,a2,a3,a4,a5)
635#define ICaptureGraphBuilder2_RenderStream(p,a1,a2,a3,a4,a5) ICOM_CALL5(RenderStream,p,a1,a2,a3,a4,a5)
636#define ICaptureGraphBuilder2_ControlStream(p,a1,a2,a3,a4,a5,a6,a7) ICOM_CALL7(ControlStream,p,a1,a2,a3,a4,a5,a6,a7)
637#define ICaptureGraphBuilder2_AllocCapFile(p,a1,a2) ICOM_CALL2(AllocCapFile,p,a1,a2)
638#define ICaptureGraphBuilder2_CopyCaptureFile(p,a1,a2,a3,a4) ICOM_CALL4(CopyCaptureFile,p,a1,a2,a3,a4)
639#define ICaptureGraphBuilder2_FindPin(p,a1,a2,a3,a4,a5,a6,a7) ICOM_CALL7(FindPin,p,a1,a2,a3,a4,a5,a6,a7)
640
641/**************************************************************************
642 *
643 * ICreateDevEnum interface
644 *
645 */
646
647#define ICOM_INTERFACE ICreateDevEnum
648#define ICreateDevEnum_METHODS \
649 ICOM_METHOD3(HRESULT,CreateClassEnumerator,REFCLSID,a1,IEnumMoniker**,a2,DWORD,a3)
650
651#define ICreateDevEnum_IMETHODS \
652 IUnknown_IMETHODS \
653 ICreateDevEnum_METHODS
654
655ICOM_DEFINE(ICreateDevEnum,IUnknown)
656#undef ICOM_INTERFACE
657
658 /*** IUnknown methods ***/
659#define ICreateDevEnum_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
660#define ICreateDevEnum_AddRef(p) ICOM_CALL (AddRef,p)
661#define ICreateDevEnum_Release(p) ICOM_CALL (Release,p)
662 /*** ICreateDevEnum methods ***/
663#define ICreateDevEnum_CreateClassEnumerator(p,a1,a2,a3) ICOM_CALL3(CreateClassEnumerator,p,a1,a2,a3)
664
665/**************************************************************************
666 *
667 * IDistributorNotify interface
668 *
669 */
670
671#define ICOM_INTERFACE IDistributorNotify
672#define IDistributorNotify_METHODS \
673 ICOM_METHOD (HRESULT,Stop) \
674 ICOM_METHOD (HRESULT,Pause) \
675 ICOM_METHOD1(HRESULT,Run,REFERENCE_TIME,a1) \
676 ICOM_METHOD1(HRESULT,SetSyncSource,IReferenceClock*,a1) \
677 ICOM_METHOD (HRESULT,NotifyGraphChange)
678
679#define IDistributorNotify_IMETHODS \
680 IUnknown_IMETHODS \
681 IDistributorNotify_METHODS
682
683ICOM_DEFINE(IDistributorNotify,IUnknown)
684#undef ICOM_INTERFACE
685
686 /*** IUnknown methods ***/
687#define IDistributorNotify_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
688#define IDistributorNotify_AddRef(p) ICOM_CALL (AddRef,p)
689#define IDistributorNotify_Release(p) ICOM_CALL (Release,p)
690 /*** IDistributorNotify methods ***/
691#define IDistributorNotify_Stop(p) ICOM_CALL (Stop,p)
692#define IDistributorNotify_Pause(p) ICOM_CALL (Pause,p)
693#define IDistributorNotify_Run(p,a1) ICOM_CALL1(Run,p,a1)
694#define IDistributorNotify_SetSyncSource(p,a1) ICOM_CALL1(SetSyncSource,p,a1)
695#define IDistributorNotify_NotifyGraphChange(p) ICOM_CALL (NotifyGraphChange,p)
696
697/**************************************************************************
698 *
699 * IDVSplitter interface
700 *
701 */
702
703#define ICOM_INTERFACE IDVSplitter
704#define IDVSplitter_METHODS \
705 ICOM_METHOD1(HRESULT,DiscardAlternateVideoFrames,int,a1)
706
707#define IDVSplitter_IMETHODS \
708 IUnknown_IMETHODS \
709 IDVSplitter_METHODS
710
711ICOM_DEFINE(IDVSplitter,IUnknown)
712#undef ICOM_INTERFACE
713
714 /*** IUnknown methods ***/
715#define IDVSplitter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
716#define IDVSplitter_AddRef(p) ICOM_CALL (AddRef,p)
717#define IDVSplitter_Release(p) ICOM_CALL (Release,p)
718 /*** IDVSplitter methods ***/
719#define IDVSplitter_DiscardAlternateVideoFrames(p,a1) ICOM_CALL1(DiscardAlternateVideoFrames,p,a1)
720
721/**************************************************************************
722 *
723 * IEnumFilters interface
724 *
725 */
726
727#define ICOM_INTERFACE IEnumFilters
728#define IEnumFilters_METHODS \
729 ICOM_METHOD3(HRESULT,Next,ULONG,a1,IBaseFilter**,a2,ULONG*,a3) \
730 ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
731 ICOM_METHOD (HRESULT,Reset) \
732 ICOM_METHOD1(HRESULT,Clone,IEnumFilters**,a1)
733
734#define IEnumFilters_IMETHODS \
735 IUnknown_IMETHODS \
736 IEnumFilters_METHODS
737
738ICOM_DEFINE(IEnumFilters,IUnknown)
739#undef ICOM_INTERFACE
740
741 /*** IUnknown methods ***/
742#define IEnumFilters_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
743#define IEnumFilters_AddRef(p) ICOM_CALL (AddRef,p)
744#define IEnumFilters_Release(p) ICOM_CALL (Release,p)
745 /*** IEnumFilters methods ***/
746#define IEnumFilters_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
747#define IEnumFilters_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
748#define IEnumFilters_Reset(p) ICOM_CALL (Reset,p)
749#define IEnumFilters_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
750
751/**************************************************************************
752 *
753 * IEnumMediaTypes interface
754 *
755 */
756
757#define ICOM_INTERFACE IEnumMediaTypes
758#define IEnumMediaTypes_METHODS \
759 ICOM_METHOD3(HRESULT,Next,ULONG,a1,AM_MEDIA_TYPE**,a2,ULONG*,a3) \
760 ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
761 ICOM_METHOD (HRESULT,Reset) \
762 ICOM_METHOD1(HRESULT,Clone,IEnumMediaTypes**,a1)
763
764#define IEnumMediaTypes_IMETHODS \
765 IUnknown_IMETHODS \
766 IEnumMediaTypes_METHODS
767
768ICOM_DEFINE(IEnumMediaTypes,IUnknown)
769#undef ICOM_INTERFACE
770
771 /*** IUnknown methods ***/
772#define IEnumMediaTypes_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
773#define IEnumMediaTypes_AddRef(p) ICOM_CALL (AddRef,p)
774#define IEnumMediaTypes_Release(p) ICOM_CALL (Release,p)
775 /*** IEnumMediaTypes methods ***/
776#define IEnumMediaTypes_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
777#define IEnumMediaTypes_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
778#define IEnumMediaTypes_Reset(p) ICOM_CALL (Reset,p)
779#define IEnumMediaTypes_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
780
781/**************************************************************************
782 *
783 * IEnumPins interface
784 *
785 */
786
787#define ICOM_INTERFACE IEnumPins
788#define IEnumPins_METHODS \
789 ICOM_METHOD3(HRESULT,Next,ULONG,a1,IPin**,a2,ULONG*,a3) \
790 ICOM_METHOD1(HRESULT,Skip,ULONG,a1) \
791 ICOM_METHOD (HRESULT,Reset) \
792 ICOM_METHOD1(HRESULT,Clone,IEnumPins**,a1)
793
794#define IEnumPins_IMETHODS \
795 IUnknown_IMETHODS \
796 IEnumPins_METHODS
797
798ICOM_DEFINE(IEnumPins,IUnknown)
799#undef ICOM_INTERFACE
800
801 /*** IUnknown methods ***/
802#define IEnumPins_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
803#define IEnumPins_AddRef(p) ICOM_CALL (AddRef,p)
804#define IEnumPins_Release(p) ICOM_CALL (Release,p)
805 /*** IEnumPins methods ***/
806#define IEnumPins_Next(p,a1,a2,a3) ICOM_CALL3(Next,p,a1,a2,a3)
807#define IEnumPins_Skip(p,a1) ICOM_CALL1(Skip,p,a1)
808#define IEnumPins_Reset(p) ICOM_CALL (Reset,p)
809#define IEnumPins_Clone(p,a1) ICOM_CALL1(Clone,p,a1)
810
811/**************************************************************************
812 *
813 * IFileSinkFilter interface
814 *
815 */
816
817#define ICOM_INTERFACE IFileSinkFilter
818#define IFileSinkFilter_METHODS \
819 ICOM_METHOD2(HRESULT,SetFileName,LPCOLESTR,a1,const AM_MEDIA_TYPE*,a2) \
820 ICOM_METHOD2(HRESULT,GetCurFile,LPOLESTR*,a1,AM_MEDIA_TYPE*,a2)
821
822#define IFileSinkFilter_IMETHODS \
823 IUnknown_IMETHODS \
824 IFileSinkFilter_METHODS
825
826ICOM_DEFINE(IFileSinkFilter,IUnknown)
827#undef ICOM_INTERFACE
828
829 /*** IUnknown methods ***/
830#define IFileSinkFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
831#define IFileSinkFilter_AddRef(p) ICOM_CALL (AddRef,p)
832#define IFileSinkFilter_Release(p) ICOM_CALL (Release,p)
833 /*** IFileSinkFilter methods ***/
834#define IFileSinkFilter_SetFileName(p,a1,a2) ICOM_CALL2(SetFileName,p,a1,a2)
835#define IFileSinkFilter_GetCurFile(p,a1,a2) ICOM_CALL2(GetCurFile,p,a1,a2)
836
837/**************************************************************************
838 *
839 * IFileSinkFilter2 interface
840 *
841 */
842
843#define ICOM_INTERFACE IFileSinkFilter2
844#define IFileSinkFilter2_METHODS \
845 ICOM_METHOD1(HRESULT,SetMode,DWORD,a1) \
846 ICOM_METHOD1(HRESULT,GetMode,DWORD*,a1)
847
848#define IFileSinkFilter2_IMETHODS \
849 IFileSinkFilter_IMETHODS \
850 IFileSinkFilter2_METHODS
851
852ICOM_DEFINE(IFileSinkFilter2,IFileSinkFilter)
853#undef ICOM_INTERFACE
854
855 /*** IUnknown methods ***/
856#define IFileSinkFilter2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
857#define IFileSinkFilter2_AddRef(p) ICOM_CALL (AddRef,p)
858#define IFileSinkFilter2_Release(p) ICOM_CALL (Release,p)
859 /*** IFileSinkFilter methods ***/
860#define IFileSinkFilter2_SetFileName(p,a1,a2) ICOM_CALL2(SetFileName,p,a1,a2)
861#define IFileSinkFilter2_GetCurFile(p,a1,a2) ICOM_CALL2(GetCurFile,p,a1,a2)
862 /*** IFileSinkFilter2 methods ***/
863#define IFileSinkFilter2_SetMode(p,a1) ICOM_CALL1(SetMode,p,a1)
864#define IFileSinkFilter2_GetMode(p,a1) ICOM_CALL1(GetMode,p,a1)
865
866/**************************************************************************
867 *
868 * IFileSourceFilter interface
869 *
870 */
871
872#define ICOM_INTERFACE IFileSourceFilter
873#define IFileSourceFilter_METHODS \
874 ICOM_METHOD2(HRESULT,Load,LPCOLESTR,a1,const AM_MEDIA_TYPE*,a2) \
875 ICOM_METHOD2(HRESULT,GetCurFile,LPOLESTR*,a1,AM_MEDIA_TYPE*,a2)
876
877#define IFileSourceFilter_IMETHODS \
878 IUnknown_IMETHODS \
879 IFileSourceFilter_METHODS
880
881ICOM_DEFINE(IFileSourceFilter,IUnknown)
882#undef ICOM_INTERFACE
883
884 /*** IUnknown methods ***/
885#define IFileSourceFilter_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
886#define IFileSourceFilter_AddRef(p) ICOM_CALL (AddRef,p)
887#define IFileSourceFilter_Release(p) ICOM_CALL (Release,p)
888 /*** IFileSourceFilter methods ***/
889#define IFileSourceFilter_Load(p,a1,a2) ICOM_CALL2(Load,p,a1,a2)
890#define IFileSourceFilter_GetCurFile(p,a1,a2) ICOM_CALL2(GetCurFile,p,a1,a2)
891
892/**************************************************************************
893 *
894 * IFilterChain interface
895 *
896 */
897
898#define ICOM_INTERFACE IFilterChain
899#define IFilterChain_METHODS \
900 ICOM_METHOD2(HRESULT,StartChain,IBaseFilter*,a1,IBaseFilter*,a2) \
901 ICOM_METHOD2(HRESULT,PauseChain,IBaseFilter*,a1,IBaseFilter*,a2) \
902 ICOM_METHOD2(HRESULT,StopChain,IBaseFilter*,a1,IBaseFilter*,a2) \
903 ICOM_METHOD2(HRESULT,RemoveChain,IBaseFilter*,a1,IBaseFilter*,a2)
904
905#define IFilterChain_IMETHODS \
906 IUnknown_IMETHODS \
907 IFilterChain_METHODS
908
909ICOM_DEFINE(IFilterChain,IUnknown)
910#undef ICOM_INTERFACE
911
912 /*** IUnknown methods ***/
913#define IFilterChain_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
914#define IFilterChain_AddRef(p) ICOM_CALL (AddRef,p)
915#define IFilterChain_Release(p) ICOM_CALL (Release,p)
916 /*** IFilterChain methods ***/
917#define IFilterChain_StartChain(p,a1,a2) ICOM_CALL2(StartChain,p,a1,a2)
918#define IFilterChain_PauseChain(p,a1,a2) ICOM_CALL2(PauseChain,p,a1,a2)
919#define IFilterChain_StopChain(p,a1,a2) ICOM_CALL2(StopChain,p,a1,a2)
920#define IFilterChain_RemoveChain(p,a1,a2) ICOM_CALL2(RemoveChain,p,a1,a2)
921
922/**************************************************************************
923 *
924 * IFilterMapper interface
925 *
926 */
927
928#define ICOM_INTERFACE IFilterMapper
929#define IFilterMapper_METHODS \
930 ICOM_METHOD3(HRESULT,RegisterFilter,CLSID,a1,LPCWSTR,a2,DWORD,a3) \
931 ICOM_METHOD3(HRESULT,RegisterFilterInstance,CLSID,a1,LPCWSTR,a2,CLSID*,a3) \
932 ICOM_METHOD8(HRESULT,RegisterPin,CLSID,a1,LPCWSTR,a2,BOOL,a3,BOOL,a4,BOOL,a5,BOOL,a6,CLSID,a7,LPCWSTR,a8) \
933 ICOM_METHOD4(HRESULT,RegisterPinType,CLSID,a1,LPCWSTR,a2,CLSID,a3,CLSID,a4) \
934 ICOM_METHOD1(HRESULT,UnregisterFilter,CLSID,a1) \
935 ICOM_METHOD1(HRESULT,UnregisterFilterInstance,CLSID,a1) \
936 ICOM_METHOD2(HRESULT,UnregisterPin,CLSID,a1,LPCWSTR,a2) \
937 ICOM_METHOD9(HRESULT,EnumMatchingFilters,IEnumRegFilters**,a1,DWORD,a2,BOOL,a3,CLSID,a4,CLSID,a5,BOOL,a6,BOOL,a7,CLSID,a8,CLSID,a9)
938
939#define IFilterMapper_IMETHODS \
940 IUnknown_IMETHODS \
941 IFilterMapper_METHODS
942
943ICOM_DEFINE(IFilterMapper,IUnknown)
944#undef ICOM_INTERFACE
945
946 /*** IUnknown methods ***/
947#define IFilterMapper_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
948#define IFilterMapper_AddRef(p) ICOM_CALL (AddRef,p)
949#define IFilterMapper_Release(p) ICOM_CALL (Release,p)
950 /*** IFilterMapper methods ***/
951#define IFilterMapper_RegisterFilter(p,a1,a2,a3) ICOM_CALL3(RegisterFilter,p,a1,a2,a3)
952#define IFilterMapper_RegisterFilterInstance(p,a1,a2,a3) ICOM_CALL3(RegisterFilterInstance,p,a1,a2,a3)
953#define IFilterMapper_RegisterPin(p,a1,a2,a3,a4,a5,a6,a7,a8) ICOM_CALL8(RegisterPin,p,a1,a2,a3,a4,a5,a6,a7,a8)
954#define IFilterMapper_RegisterPinType(p,a1,a2,a3,a4) ICOM_CALL4(RegisterPinType,p,a1,a2,a3,a4)
955#define IFilterMapper_UnregisterFilter(p,a1) ICOM_CALL1(UnregisterFilter,p,a1)
956#define IFilterMapper_UnregisterFilterInstance(p,a1) ICOM_CALL1(UnregisterFilterInstance,p,a1)
957#define IFilterMapper_UnregisterPin(p,a1,a2) ICOM_CALL2(UnregisterPin,p,a1,a2)
958#define IFilterMapper_EnumMatchingFilters(p,a1,a2,a3,a4,a5,a6,a7,a8,a9) ICOM_CALL9(EnumMatchingFilters,p,a1,a2,a3,a4,a5,a6,a7,a8,a9)
959
960/**************************************************************************
961 *
962 * IFilterMapper2 interface
963 *
964 */
965
966#define ICOM_INTERFACE IFilterMapper2
967#define IFilterMapper2_METHODS \
968 ICOM_METHOD3(HRESULT,CreateCategory,REFCLSID,a1,DWORD,a2,LPCWSTR,a3) \
969 ICOM_METHOD3(HRESULT,UnregisterFilter,const CLSID*,a1,const OLECHAR*,a2,REFCLSID,a3) \
970 ICOM_METHOD6(HRESULT,RegisterFilter,REFCLSID,a1,LPCWSTR,a2,IMoniker**,a3,const CLSID*,a4,const OLECHAR*,a5,const REGFILTER2*,a6) \
971 ICOM_METHOD15(HRESULT,EnumMatchingFilters,IEnumMoniker**,a1,DWORD,a2,BOOL,a3,DWORD,a4,BOOL,a5,DWORD,a6,const GUID*,a7,const REGPINMEDIUM*,a8,const CLSID*,a9,BOOL,a10,BOOL,a11,DWORD,a12,const GUID*,a13,const REGPINMEDIUM*,a14,const CLSID*,a15)
972
973#define IFilterMapper2_IMETHODS \
974 IUnknown_IMETHODS \
975 IFilterMapper2_METHODS
976
977ICOM_DEFINE(IFilterMapper2,IUnknown)
978#undef ICOM_INTERFACE
979
980 /*** IUnknown methods ***/
981#define IFilterMapper2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
982#define IFilterMapper2_AddRef(p) ICOM_CALL (AddRef,p)
983#define IFilterMapper2_Release(p) ICOM_CALL (Release,p)
984 /*** IFilterMapper2 methods ***/
985#define IFilterMapper2_CreateCategory(p,a1,a2,a3) ICOM_CALL3(CreateCategory,p,a1,a2,a3)
986#define IFilterMapper2_UnregisterFilter(p,a1,a2,a3) ICOM_CALL3(UnregisterFilter,p,a1,a2,a3)
987#define IFilterMapper2_RegisterFilter(p,a1,a2,a3,a4,a5,a6) ICOM_CALL6(RegisterFilter,p,a1,a2,a3,a4,a5,a6)
988#define IFilterMapper2_EnumMatchingFilters(p,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) ICOM_CALL15(EnumMatchingFilters,p,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)
989
990/**************************************************************************
991 *
992 * IFilterMapper3 interface
993 *
994 */
995
996#define ICOM_INTERFACE IFilterMapper3
997#define IFilterMapper3_METHODS \
998 ICOM_METHOD1(HRESULT,GetICreateDevEnum,ICreateDevEnum**,a1)
999
1000#define IFilterMapper3_IMETHODS \
1001 IFilterMapper2_IMETHODS \
1002 IFilterMapper3_METHODS
1003
1004ICOM_DEFINE(IFilterMapper3,IFilterMapper2)
1005#undef ICOM_INTERFACE
1006
1007 /*** IUnknown methods ***/
1008#define IFilterMapper3_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1009#define IFilterMapper3_AddRef(p) ICOM_CALL (AddRef,p)
1010#define IFilterMapper3_Release(p) ICOM_CALL (Release,p)
1011 /*** IFilterMapper2 methods ***/
1012#define IFilterMapper3_CreateCategory(p,a1,a2,a3) ICOM_CALL3(CreateCategory,p,a1,a2,a3)
1013#define IFilterMapper3_UnregisterFilter(p,a1,a2,a3) ICOM_CALL3(UnregisterFilter,p,a1,a2,a3)
1014#define IFilterMapper3_RegisterFilter(p,a1,a2,a3,a4,a5,a6) ICOM_CALL6(RegisterFilter,p,a1,a2,a3,a4,a5,a6)
1015#define IFilterMapper3_EnumMatchingFilters(p,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) ICOM_CALL15(EnumMatchingFilters,p,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)
1016 /*** IFilterMapper3 methods ***/
1017#define IFilterMapper3_GetICreateDevEnum(p,a1) ICOM_CALL1(GetICreateDevEnum,p,a1)
1018
1019/**************************************************************************
1020 *
1021 * IFilterGraph interface
1022 *
1023 */
1024
1025#define ICOM_INTERFACE IFilterGraph
1026#define IFilterGraph_METHODS \
1027 ICOM_METHOD2(HRESULT,AddFilter,IBaseFilter*,a1,LPCWSTR,a2) \
1028 ICOM_METHOD1(HRESULT,RemoveFilter,IBaseFilter*,a1) \
1029 ICOM_METHOD1(HRESULT,EnumFilters,IEnumFilters**,a1) \
1030 ICOM_METHOD2(HRESULT,FindFilterByName,LPCWSTR,a1,IBaseFilter**,a2) \
1031 ICOM_METHOD3(HRESULT,ConnectDirect,IPin*,a1,IPin*,a2,const AM_MEDIA_TYPE*,a3) \
1032 ICOM_METHOD1(HRESULT,Reconnect,IPin*,a1) \
1033 ICOM_METHOD1(HRESULT,Disconnect,IPin*,a1) \
1034 ICOM_METHOD (HRESULT,SetDefaultSyncSource)
1035
1036#define IFilterGraph_IMETHODS \
1037 IUnknown_IMETHODS \
1038 IFilterGraph_METHODS
1039
1040ICOM_DEFINE(IFilterGraph,IUnknown)
1041#undef ICOM_INTERFACE
1042
1043 /*** IUnknown methods ***/
1044#define IFilterGraph_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1045#define IFilterGraph_AddRef(p) ICOM_CALL (AddRef,p)
1046#define IFilterGraph_Release(p) ICOM_CALL (Release,p)
1047 /*** IFilterGraph methods ***/
1048#define IFilterGraph_AddFilter(p,a1,a2) ICOM_CALL2(AddFilter,p,a1,a2)
1049#define IFilterGraph_RemoveFilter(p,a1) ICOM_CALL1(RemoveFilter,p,a1)
1050#define IFilterGraph_EnumFilters(p,a1) ICOM_CALL1(EnumFilters,p,a1)
1051#define IFilterGraph_FindFilterByName(p,a1,a2) ICOM_CALL2(FindFilterByName,p,a1,a2)
1052#define IFilterGraph_ConnectDirect(p,a1,a2,a3) ICOM_CALL3(ConnectDirect,p,a1,a2,a3)
1053#define IFilterGraph_Reconnect(p,a1) ICOM_CALL1(Reconnect,p,a1)
1054#define IFilterGraph_Disconnect(p,a1) ICOM_CALL1(Disconnect,p,a1)
1055#define IFilterGraph_SetDefaultSyncSource(p) ICOM_CALL (SetDefaultSyncSource,p)
1056
1057/**************************************************************************
1058 *
1059 * IGraphBuilder interface
1060 *
1061 */
1062
1063#define ICOM_INTERFACE IGraphBuilder
1064#define IGraphBuilder_METHODS \
1065 ICOM_METHOD2(HRESULT,Connect,IPin*,a1,IPin*,a2) \
1066 ICOM_METHOD1(HRESULT,Render,IPin*,a1) \
1067 ICOM_METHOD2(HRESULT,RenderFile,LPCWSTR,a1,LPCWSTR,a2) \
1068 ICOM_METHOD3(HRESULT,AddSourceFilter,LPCWSTR,a1,LPCWSTR,a2,IBaseFilter**,a3) \
1069 ICOM_METHOD1(HRESULT,SetLogFile,DWORD_PTR,a1) \
1070 ICOM_METHOD (HRESULT,Abort) \
1071 ICOM_METHOD (HRESULT,ShouldOperationContinue)
1072
1073#define IGraphBuilder_IMETHODS \
1074 IFilterGraph_IMETHODS \
1075 IGraphBuilder_METHODS
1076
1077ICOM_DEFINE(IGraphBuilder,IFilterGraph)
1078#undef ICOM_INTERFACE
1079
1080 /*** IUnknown methods ***/
1081#define IGraphBuilder_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1082#define IGraphBuilder_AddRef(p) ICOM_CALL (AddRef,p)
1083#define IGraphBuilder_Release(p) ICOM_CALL (Release,p)
1084 /*** IFilterGraph methods ***/
1085#define IGraphBuilder_AddFilter(p,a1,a2) ICOM_CALL2(AddFilter,p,a1,a2)
1086#define IGraphBuilder_RemoveFilter(p,a1) ICOM_CALL1(RemoveFilter,p,a1)
1087#define IGraphBuilder_EnumFilters(p,a1) ICOM_CALL1(EnumFilters,p,a1)
1088#define IGraphBuilder_FindFilterByName(p,a1,a2) ICOM_CALL2(FindFilterByName,p,a1,a2)
1089#define IGraphBuilder_ConnectDirect(p,a1,a2,a3) ICOM_CALL3(ConnectDirect,p,a1,a2,a3)
1090#define IGraphBuilder_Reconnect(p,a1) ICOM_CALL1(Reconnect,p,a1)
1091#define IGraphBuilder_Disconnect(p,a1) ICOM_CALL1(Disconnect,p,a1)
1092#define IGraphBuilder_SetDefaultSyncSource(p,a1) ICOM_CALL1(SetDefaultSyncSource,p,a1)
1093 /*** IGraphBuilder methods ***/
1094#define IGraphBuilder_Connect(p,a1,a2) ICOM_CALL2(Connect,p,a1,a2)
1095#define IGraphBuilder_Render(p,a1) ICOM_CALL1(Render,p,a1)
1096#define IGraphBuilder_RenderFile(p,a1,a2) ICOM_CALL2(RenderFile,p,a1,a2)
1097#define IGraphBuilder_AddSourceFilter(p,a1,a2,a3) ICOM_CALL3(AddSourceFilter,p,a1,a2,a3)
1098#define IGraphBuilder_SetLogFile(p,a1) ICOM_CALL1(SetLogFile,p,a1)
1099#define IGraphBuilder_Abort(p) ICOM_CALL (Abort,p)
1100#define IGraphBuilder_ShouldOperationContinue(p) ICOM_CALL (ShouldOperationContinue,p)
1101
1102/**************************************************************************
1103 *
1104 * IFilterGraph2 interface
1105 *
1106 */
1107
1108#define ICOM_INTERFACE IFilterGraph2
1109#define IFilterGraph2_METHODS \
1110 ICOM_METHOD4(HRESULT,AddSourceFilterForMoniker,IMoniker*,a1,IBindCtx*,a2,LPCWSTR,a3,IBaseFilter**,a4) \
1111 ICOM_METHOD2(HRESULT,ReconnectEx,IPin*,a1,const AM_MEDIA_TYPE*,a2) \
1112 ICOM_METHOD3(HRESULT,RenderEx,IPin*,a1,DWORD,a2,DWORD*,a3)
1113
1114#define IFilterGraph2_IMETHODS \
1115 IGraphBuilder_IMETHODS \
1116 IFilterGraph2_METHODS
1117
1118ICOM_DEFINE(IFilterGraph2,IGraphBuilder)
1119#undef ICOM_INTERFACE
1120
1121 /*** IUnknown methods ***/
1122#define IFilterGraph2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1123#define IFilterGraph2_AddRef(p) ICOM_CALL (AddRef,p)
1124#define IFilterGraph2_Release(p) ICOM_CALL (Release,p)
1125 /*** IFilterGraph methods ***/
1126#define IFilterGraph2_AddFilter(p,a1,a2) ICOM_CALL2(AddFilter,p,a1,a2)
1127#define IFilterGraph2_RemoveFilter(p,a1) ICOM_CALL1(RemoveFilter,p,a1)
1128#define IFilterGraph2_EnumFilters(p,a1) ICOM_CALL1(EnumFilters,p,a1)
1129#define IFilterGraph2_FindFilterByName(p,a1,a2) ICOM_CALL2(FindFilterByName,p,a1,a2)
1130#define IFilterGraph2_ConnectDirect(p,a1,a2,a3) ICOM_CALL3(ConnectDirect,p,a1,a2,a3)
1131#define IFilterGraph2_Reconnect(p,a1) ICOM_CALL1(Reconnect,p,a1)
1132#define IFilterGraph2_Disconnect(p,a1) ICOM_CALL1(Disconnect,p,a1)
1133#define IFilterGraph2_SetDefaultSyncSource(p,a1) ICOM_CALL1(SetDefaultSyncSource,p,a1)
1134 /*** IGraphBuilder methods ***/
1135#define IFilterGraph2_Connect(p,a1,a2) ICOM_CALL2(Connect,p,a1,a2)
1136#define IFilterGraph2_Render(p,a1) ICOM_CALL1(Render,p,a1)
1137#define IFilterGraph2_RenderFile(p,a1,a2) ICOM_CALL2(RenderFile,p,a1,a2)
1138#define IFilterGraph2_AddSourceFilter(p,a1,a2,a3) ICOM_CALL3(AddSourceFilter,p,a1,a2,a3)
1139#define IFilterGraph2_SetLogFile(p,a1) ICOM_CALL1(SetLogFile,p,a1)
1140#define IFilterGraph2_Abort(p) ICOM_CALL (Abort,p)
1141#define IFilterGraph2_ShouldOperationContinue(p) ICOM_CALL (ShouldOperationContinue,p)
1142 /*** IFilterGraph2 methods ***/
1143#define IFilterGraph2_AddSourceFilterForMoniker(p,a1,a2,a3,a4) ICOM_CALL4(AddSourceFilterForMoniker,p,a1,a2,a3,a4)
1144#define IFilterGraph2_ReconnectEx(p,a1,a2) ICOM_CALL2(ReconnectEx,p,a1,a2)
1145#define IFilterGraph2_RenderEx(p,a1,a2,a3) ICOM_CALL3(RenderEx,p,a1,a2,a3)
1146
1147/**************************************************************************
1148 *
1149 * IGraphConfig interface
1150 *
1151 */
1152
1153#define ICOM_INTERFACE IGraphConfig
1154#define IGraphConfig_METHODS \
1155 ICOM_METHOD6(HRESULT,Reconnect,IPin*,a1,IPin*,a2,const AM_MEDIA_TYPE*,a3,IBaseFilter*,a4,HANDLE,a5,DWORD,a6) \
1156 ICOM_METHOD4(HRESULT,Reconfigure,IGraphConfigCallback*,a1,PVOID,a2,DWORD,a3,HANDLE,a4) \
1157 ICOM_METHOD1(HRESULT,AddFilterToCache,IBaseFilter*,a1) \
1158 ICOM_METHOD1(HRESULT,EnumCacheFilter,IEnumFilters**,a1) \
1159 ICOM_METHOD1(HRESULT,RemoveFilterFromCache,IBaseFilter*,a1) \
1160 ICOM_METHOD1(HRESULT,GetStartTime,REFERENCE_TIME*,a1) \
1161 ICOM_METHOD3(HRESULT,PushThroughData,IPin*,a1,IPinConnection*,a2,HANDLE,a3) \
1162 ICOM_METHOD2(HRESULT,SetFilterFlags,IBaseFilter*,a1,DWORD,a2) \
1163 ICOM_METHOD2(HRESULT,GetFilterFlags,IBaseFilter*,a1,DWORD*,a2) \
1164 ICOM_METHOD2(HRESULT,RemoveFilterEx,IBaseFilter*,a1,DWORD,a2)
1165
1166#define IGraphConfig_IMETHODS \
1167 IUnknown_IMETHODS \
1168 IGraphConfig_METHODS
1169
1170ICOM_DEFINE(IGraphConfig,IUnknown)
1171#undef ICOM_INTERFACE
1172
1173 /*** IUnknown methods ***/
1174#define IGraphConfig_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1175#define IGraphConfig_AddRef(p) ICOM_CALL (AddRef,p)
1176#define IGraphConfig_Release(p) ICOM_CALL (Release,p)
1177 /*** IGraphConfig methods ***/
1178#define IGraphConfig_Reconnect(p,a1,a2,a3,a4,a5,a6) ICOM_CALL6(Reconnect,p,a1,a2,a3,a4,a5,a6)
1179#define IGraphConfig_Reconfigure(p,a1,a2,a3,a4) ICOM_CALL4(Reconfigure,p,a1,a2,a3,a4)
1180#define IGraphConfig_AddFilterToCache(p,a1) ICOM_CALL1(AddFilterToCache,p,a1)
1181#define IGraphConfig_EnumCacheFilter(p,a1) ICOM_CALL1(EnumCacheFilter,p,a1)
1182#define IGraphConfig_RemoveFilterFromCache(p,a1) ICOM_CALL1(RemoveFilterFromCache,p,a1)
1183#define IGraphConfig_GetStartTime(p,a1) ICOM_CALL1(GetStartTime,p,a1)
1184#define IGraphConfig_PushThroughData(p,a1,a2,a3) ICOM_CALL3(PushThroughData,p,a1,a2,a3)
1185#define IGraphConfig_SetFilterFlags(p,a1,a2) ICOM_CALL2(SetFilterFlags,p,a1,a2)
1186#define IGraphConfig_GetFilterFlags(p,a1,a2) ICOM_CALL2(GetFilterFlags,p,a1,a2)
1187#define IGraphConfig_RemoveFilterEx(p,a1,a2) ICOM_CALL2(RemoveFilterEx,p,a1,a2)
1188
1189/**************************************************************************
1190 *
1191 * IGraphConfigCallback interface
1192 *
1193 */
1194
1195#define ICOM_INTERFACE IGraphConfigCallback
1196#define IGraphConfigCallback_METHODS \
1197 ICOM_METHOD2(HRESULT,Reconfigure,PVOID,a1,DWORD,a2)
1198
1199#define IGraphConfigCallback_IMETHODS \
1200 IUnknown_IMETHODS \
1201 IGraphConfigCallback_METHODS
1202
1203ICOM_DEFINE(IGraphConfigCallback,IUnknown)
1204#undef ICOM_INTERFACE
1205
1206 /*** IUnknown methods ***/
1207#define IGraphConfigCallback_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1208#define IGraphConfigCallback_AddRef(p) ICOM_CALL (AddRef,p)
1209#define IGraphConfigCallback_Release(p) ICOM_CALL (Release,p)
1210 /*** IGraphConfigCallback methods ***/
1211#define IGraphConfigCallback_Reconfigure(p,a1,a2) ICOM_CALL2(Reconfigure,p,a1,a2)
1212
1213/**************************************************************************
1214 *
1215 * IGraphVersion interface
1216 *
1217 */
1218
1219#define ICOM_INTERFACE IGraphVersion
1220#define IGraphVersion_METHODS \
1221 ICOM_METHOD1(HRESULT,QueryVersion,LONG*,a1)
1222
1223#define IGraphVersion_IMETHODS \
1224 IUnknown_IMETHODS \
1225 IGraphVersion_METHODS
1226
1227ICOM_DEFINE(IGraphVersion,IUnknown)
1228#undef ICOM_INTERFACE
1229
1230 /*** IUnknown methods ***/
1231#define IGraphVersion_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1232#define IGraphVersion_AddRef(p) ICOM_CALL (AddRef,p)
1233#define IGraphVersion_Release(p) ICOM_CALL (Release,p)
1234 /*** IGraphVersion methods ***/
1235#define IGraphVersion_QueryVersion(p,a1) ICOM_CALL1(QueryVersion,p,a1)
1236
1237
1238/**************************************************************************
1239 *
1240 * IMediaEventSink interface
1241 *
1242 */
1243
1244#define ICOM_INTERFACE IMediaEventSink
1245#define IMediaEventSink_METHODS \
1246 ICOM_METHOD3(HRESULT,Notify,long,a1,LONG_PTR,a2,LONG_PTR,a3)
1247
1248#define IMediaEventSink_IMETHODS \
1249 IUnknown_IMETHODS \
1250 IMediaEventSink_METHODS
1251
1252ICOM_DEFINE(IMediaEventSink,IUnknown)
1253#undef ICOM_INTERFACE
1254
1255 /*** IUnknown methods ***/
1256#define IMediaEventSink_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1257#define IMediaEventSink_AddRef(p) ICOM_CALL (AddRef,p)
1258#define IMediaEventSink_Release(p) ICOM_CALL (Release,p)
1259 /*** IMediaEventSink methods ***/
1260#define IMediaEventSink_Notify(p,a1,a2,a3) ICOM_CALL3(Notify,p,a1,a2,a3)
1261
1262/**************************************************************************
1263 *
1264 * IMediaPropertyBag interface
1265 *
1266 */
1267
1268#define ICOM_INTERFACE IMediaPropertyBag
1269#define IMediaPropertyBag_METHODS \
1270 ICOM_METHOD3(HRESULT,EnumProperty,ULONG,a1,VARIANT*,a2,VARIANT*,a3)
1271
1272#define IMediaPropertyBag_IMETHODS \
1273 IPropertyBag_IMETHODS \
1274 IMediaPropertyBag_METHODS
1275
1276ICOM_DEFINE(IMediaPropertyBag,IPropertyBag)
1277#undef ICOM_INTERFACE
1278
1279 /*** IUnknown methods ***/
1280#define IMediaPropertyBag_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1281#define IMediaPropertyBag_AddRef(p) ICOM_CALL (AddRef,p)
1282#define IMediaPropertyBag_Release(p) ICOM_CALL (Release,p)
1283 /*** IPropertyBag methods ***/
1284#define IMediaPropertyBag_Read(p,a1,a2,a3) ICOM_CALL3(Read,p,a1,a2,a3)
1285#define IMediaPropertyBag_Write(p,a1,a2) ICOM_CALL2(Write,p,a1,a2)
1286 /*** IMediaPropertyBag methods ***/
1287#define IMediaPropertyBag_EnumProperty(p,a1,a2,a3) ICOM_CALL3(EnumProperty,p,a1,a2,a3)
1288
1289/**************************************************************************
1290 *
1291 * IMediaSample interface
1292 *
1293 */
1294
1295#define ICOM_INTERFACE IMediaSample
1296#define IMediaSample_METHODS \
1297 ICOM_METHOD1(HRESULT,GetPointer,BYTE**,a1) \
1298 ICOM_METHOD (long,GetSize) \
1299 ICOM_METHOD2(HRESULT,GetTime,REFERENCE_TIME*,a1,REFERENCE_TIME*,a2) \
1300 ICOM_METHOD2(HRESULT,SetTime,REFERENCE_TIME*,a1,REFERENCE_TIME*,a2) \
1301 ICOM_METHOD (HRESULT,IsSyncPoint) \
1302 ICOM_METHOD1(HRESULT,SetSyncPoint,BOOL,a1) \
1303 ICOM_METHOD (HRESULT,IsPreroll) \
1304 ICOM_METHOD1(HRESULT,SetPreroll,BOOL,a1) \
1305 ICOM_METHOD (long,GetActualDataLength) \
1306 ICOM_METHOD1(HRESULT,SetActualDataLength,long,a1) \
1307 ICOM_METHOD1(HRESULT,GetMediaType,AM_MEDIA_TYPE**,a1) \
1308 ICOM_METHOD1(HRESULT,SetMediaType,AM_MEDIA_TYPE*,a1) \
1309 ICOM_METHOD (HRESULT,IsDiscontinuity) \
1310 ICOM_METHOD1(HRESULT,SetDiscontinuity,BOOL,a1) \
1311 ICOM_METHOD2(HRESULT,GetMediaTime,LONGLONG*,a1,LONGLONG*,a2) \
1312 ICOM_METHOD2(HRESULT,SetMediaTime,LONGLONG*,a1,LONGLONG*,a2)
1313
1314#define IMediaSample_IMETHODS \
1315 IUnknown_IMETHODS \
1316 IMediaSample_METHODS
1317
1318ICOM_DEFINE(IMediaSample,IUnknown)
1319#undef ICOM_INTERFACE
1320
1321 /*** IUnknown methods ***/
1322#define IMediaSample_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1323#define IMediaSample_AddRef(p) ICOM_CALL (AddRef,p)
1324#define IMediaSample_Release(p) ICOM_CALL (Release,p)
1325 /*** IMediaSample methods ***/
1326#define IMediaSample_GetPointer(p,a1) ICOM_CALL1(GetPointer,p,a1)
1327#define IMediaSample_GetSize(p) ICOM_CALL (GetSize,p)
1328#define IMediaSample_GetTime(p,a1,a2) ICOM_CALL2(GetTime,p,a1,a2)
1329#define IMediaSample_SetTime(p,a1,a2) ICOM_CALL2(SetTime,p,a1,a2)
1330#define IMediaSample_IsSyncPoint(p) ICOM_CALL (IsSyncPoint,p)
1331#define IMediaSample_SetSyncPoint(p,a1) ICOM_CALL1(SetSyncPoint,p,a1)
1332#define IMediaSample_IsPreroll(p) ICOM_CALL (IsPreroll,p)
1333#define IMediaSample_SetPreroll(p,a1) ICOM_CALL1(SetPreroll,p,a1)
1334#define IMediaSample_GetActualDataLength(p) ICOM_CALL (GetActualDataLength,p)
1335#define IMediaSample_SetActualDataLength(p,a1) ICOM_CALL1(SetActualDataLength,p,a1)
1336#define IMediaSample_GetMediaType(p,a1) ICOM_CALL1(GetMediaType,p,a1)
1337#define IMediaSample_SetMediaType(p,a1) ICOM_CALL1(SetMediaType,p,a1)
1338#define IMediaSample_IsDiscontinuity(p) ICOM_CALL (IsDiscontinuity,p)
1339#define IMediaSample_SetDiscontinuity(p,a1) ICOM_CALL1(SetDiscontinuity,p,a1)
1340#define IMediaSample_GetMediaTime(p,a1,a2) ICOM_CALL2(GetMediaTime,p,a1,a2)
1341#define IMediaSample_SetMediaTime(p,a1,a2) ICOM_CALL2(SetMediaTime,p,a1,a2)
1342
1343/**************************************************************************
1344 *
1345 * IMediaSample2 interface
1346 *
1347 */
1348
1349#define ICOM_INTERFACE IMediaSample2
1350#define IMediaSample2_METHODS \
1351 ICOM_METHOD2(HRESULT,GetProperties,DWORD,a1,BYTE*,a2) \
1352 ICOM_METHOD2(HRESULT,SetProperties,DWORD,a1,const BYTE*,a2)
1353
1354#define IMediaSample2_IMETHODS \
1355 IMediaSample_IMETHODS \
1356 IMediaSample2_METHODS
1357
1358ICOM_DEFINE(IMediaSample2,IMediaSample)
1359#undef ICOM_INTERFACE
1360
1361 /*** IUnknown methods ***/
1362#define IMediaSample2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1363#define IMediaSample2_AddRef(p) ICOM_CALL (AddRef,p)
1364#define IMediaSample2_Release(p) ICOM_CALL (Release,p)
1365 /*** IMediaSample methods ***/
1366#define IMediaSample2_GetPointer(p,a1) ICOM_CALL1(GetPointer,p,a1)
1367#define IMediaSample2_GetSize(p,a1) ICOM_CALL1(GetSize,p,a1)
1368#define IMediaSample2_GetTime(p,a1,a2) ICOM_CALL2(GetTime,p,a1,a2)
1369#define IMediaSample2_SetTime(p,a1,a2) ICOM_CALL2(SetTime,p,a1,a2)
1370#define IMediaSample2_IsSyncPoint(p,a1) ICOM_CALL1(IsSyncPoint,p,a1)
1371#define IMediaSample2_SetSyncPoint(p,a1) ICOM_CALL1(SetSyncPoint,p,a1)
1372#define IMediaSample2_IsPreroll(p,a1) ICOM_CALL1(IsPreroll,p,a1)
1373#define IMediaSample2_SetPreroll(p,a1) ICOM_CALL1(SetPreroll,p,a1)
1374#define IMediaSample2_GetActualDataLength(p,a1) ICOM_CALL1(GetActualDataLength,p,a1)
1375#define IMediaSample2_SetActualDataLength(p,a1) ICOM_CALL1(SetActualDataLength,p,a1)
1376#define IMediaSample2_GetMediaType(p,a1) ICOM_CALL1(GetMediaType,p,a1)
1377#define IMediaSample2_SetMediaType(p,a1) ICOM_CALL1(SetMediaType,p,a1)
1378#define IMediaSample2_IsDiscontinuity(p,a1) ICOM_CALL1(IsDiscontinuity,p,a1)
1379#define IMediaSample2_SetDiscontinuity(p,a1) ICOM_CALL1(SetDiscontinuity,p,a1)
1380#define IMediaSample2_GetMediaTime(p,a1,a2) ICOM_CALL2(GetMediaTime,p,a1,a2)
1381#define IMediaSample2_SetMediaTime(p,a1,a2) ICOM_CALL2(SetMediaTime,p,a1,a2)
1382 /*** IMediaSample2 methods ***/
1383#define IMediaSample2_GetProperties(p,a1,a2) ICOM_CALL2(GetProperties,p,a1,a2)
1384#define IMediaSample2_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
1385
1386/**************************************************************************
1387 *
1388 * IMediaSeeking interface
1389 *
1390 */
1391
1392#define ICOM_INTERFACE IMediaSeeking
1393#define IMediaSeeking_METHODS \
1394 ICOM_METHOD1(HRESULT,GetCapabilities,DWORD*,a1) \
1395 ICOM_METHOD1(HRESULT,CheckCapabilities,DWORD*,a1) \
1396 ICOM_METHOD1(HRESULT,IsFormatSupported,const GUID*,a1) \
1397 ICOM_METHOD1(HRESULT,QueryPreferredFormat,GUID*,a1) \
1398 ICOM_METHOD1(HRESULT,GetTimeFormat,GUID*,a1) \
1399 ICOM_METHOD1(HRESULT,IsUsingTimeFormat,const GUID*,a1) \
1400 ICOM_METHOD1(HRESULT,SetTimeFormat,const GUID*,a1) \
1401 ICOM_METHOD1(HRESULT,GetDuration,LONGLONG*,a1) \
1402 ICOM_METHOD1(HRESULT,GetStopPosition,LONGLONG*,a1) \
1403 ICOM_METHOD1(HRESULT,GetCurrentPosition,LONGLONG*,a1) \
1404 ICOM_METHOD4(HRESULT,ConvertTimeFormat,LONGLONG*,a1,const GUID*,a2,LONGLONG,a3,const GUID*,a4) \
1405 ICOM_METHOD4(HRESULT,SetPositions,LONGLONG*,a1,DWORD,a2,LONGLONG*,a3,DWORD,a4) \
1406 ICOM_METHOD2(HRESULT,GetPositions,LONGLONG*,a1,LONGLONG*,a2) \
1407 ICOM_METHOD2(HRESULT,GetAvailable,LONGLONG*,a1,LONGLONG*,a2) \
1408 ICOM_METHOD1(HRESULT,SetRate,double,a1) \
1409 ICOM_METHOD1(HRESULT,GetRate,double*,a1) \
1410 ICOM_METHOD1(HRESULT,GetPreroll,LONGLONG*,a1)
1411
1412#define IMediaSeeking_IMETHODS \
1413 IUnknown_IMETHODS \
1414 IMediaSeeking_METHODS
1415
1416ICOM_DEFINE(IMediaSeeking,IUnknown)
1417#undef ICOM_INTERFACE
1418
1419 /*** IUnknown methods ***/
1420#define IMediaSeeking_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1421#define IMediaSeeking_AddRef(p) ICOM_CALL (AddRef,p)
1422#define IMediaSeeking_Release(p) ICOM_CALL (Release,p)
1423 /*** IMediaSeeking methods ***/
1424#define IMediaSeeking_GetCapabilities(p,a1) ICOM_CALL1(GetCapabilities,p,a1)
1425#define IMediaSeeking_CheckCapabilities(p,a1) ICOM_CALL1(CheckCapabilities,p,a1)
1426#define IMediaSeeking_IsFormatSupported(p,a1) ICOM_CALL1(IsFormatSupported,p,a1)
1427#define IMediaSeeking_QueryPreferredFormat(p,a1) ICOM_CALL1(QueryPreferredFormat,p,a1)
1428#define IMediaSeeking_GetTimeFormat(p,a1) ICOM_CALL1(GetTimeFormat,p,a1)
1429#define IMediaSeeking_IsUsingTimeFormat(p,a1) ICOM_CALL1(IsUsingTimeFormat,p,a1)
1430#define IMediaSeeking_SetTimeFormat(p,a1) ICOM_CALL1(SetTimeFormat,p,a1)
1431#define IMediaSeeking_GetDuration(p,a1) ICOM_CALL1(GetDuration,p,a1)
1432#define IMediaSeeking_GetStopPosition(p,a1) ICOM_CALL1(GetStopPosition,p,a1)
1433#define IMediaSeeking_GetCurrentPosition(p,a1) ICOM_CALL1(GetCurrentPosition,p,a1)
1434#define IMediaSeeking_ConvertTimeFormat(p,a1,a2,a3,a4) ICOM_CALL4(ConvertTimeFormat,p,a1,a2,a3,a4)
1435#define IMediaSeeking_SetPositions(p,a1,a2,a3,a4) ICOM_CALL4(SetPositions,p,a1,a2,a3,a4)
1436#define IMediaSeeking_GetPositions(p,a1,a2) ICOM_CALL2(GetPositions,p,a1,a2)
1437#define IMediaSeeking_GetAvailable(p,a1,a2) ICOM_CALL2(GetAvailable,p,a1,a2)
1438#define IMediaSeeking_SetRate(p,a1) ICOM_CALL1(SetRate,p,a1)
1439#define IMediaSeeking_GetRate(p,a1) ICOM_CALL1(GetRate,p,a1)
1440#define IMediaSeeking_GetPreroll(p,a1) ICOM_CALL1(GetPreroll,p,a1)
1441
1442/**************************************************************************
1443 *
1444 * IMemAllocator interface
1445 *
1446 */
1447
1448#define ICOM_INTERFACE IMemAllocator
1449#define IMemAllocator_METHODS \
1450 ICOM_METHOD2(HRESULT,SetProperties,ALLOCATOR_PROPERTIES*,a1,ALLOCATOR_PROPERTIES*,a2) \
1451 ICOM_METHOD1(HRESULT,GetProperties,ALLOCATOR_PROPERTIES*,a1) \
1452 ICOM_METHOD (HRESULT,Commit) \
1453 ICOM_METHOD (HRESULT,Decommit) \
1454 ICOM_METHOD4(HRESULT,GetBuffer,IMediaSample**,a1,REFERENCE_TIME*,a2,REFERENCE_TIME*,a3,DWORD,a4) \
1455 ICOM_METHOD1(HRESULT,ReleaseBuffer,IMediaSample*,a1)
1456
1457#define IMemAllocator_IMETHODS \
1458 IUnknown_IMETHODS \
1459 IMemAllocator_METHODS
1460
1461ICOM_DEFINE(IMemAllocator,IUnknown)
1462#undef ICOM_INTERFACE
1463
1464 /*** IUnknown methods ***/
1465#define IMemAllocator_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1466#define IMemAllocator_AddRef(p) ICOM_CALL (AddRef,p)
1467#define IMemAllocator_Release(p) ICOM_CALL (Release,p)
1468 /*** IMemAllocator methods ***/
1469#define IMemAllocator_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
1470#define IMemAllocator_GetProperties(p,a1) ICOM_CALL1(GetProperties,p,a1)
1471#define IMemAllocator_Commit(p) ICOM_CALL (Commit,p)
1472#define IMemAllocator_Decommit(p) ICOM_CALL (Decommit,p)
1473#define IMemAllocator_GetBuffer(p,a1,a2,a3,a4) ICOM_CALL4(GetBuffer,p,a1,a2,a3,a4)
1474#define IMemAllocator_ReleaseBuffer(p,a1) ICOM_CALL1(ReleaseBuffer,p,a1)
1475
1476/**************************************************************************
1477 *
1478 * IMemAllocatorCallbackTemp interface
1479 *
1480 */
1481
1482#define ICOM_INTERFACE IMemAllocatorCallbackTemp
1483#define IMemAllocatorCallbackTemp_METHODS \
1484 ICOM_METHOD1(HRESULT,SetNotify,IMemAllocatorNotifyCallbackTemp*,a1) \
1485 ICOM_METHOD1(HRESULT,GetFreeCount,LONG*,a1)
1486
1487#define IMemAllocatorCallbackTemp_IMETHODS \
1488 IMemAllocator_IMETHODS \
1489 IMemAllocatorCallbackTemp_METHODS
1490
1491ICOM_DEFINE(IMemAllocatorCallbackTemp,IMemAllocator)
1492#undef ICOM_INTERFACE
1493
1494 /*** IUnknown methods ***/
1495#define IMemAllocatorCallbackTemp_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1496#define IMemAllocatorCallbackTemp_AddRef(p) ICOM_CALL (AddRef,p)
1497#define IMemAllocatorCallbackTemp_Release(p) ICOM_CALL (Release,p)
1498 /*** IMemAllocator methods ***/
1499#define IMemAllocatorCallbackTemp_SetProperties(p,a1,a2) ICOM_CALL2(SetProperties,p,a1,a2)
1500#define IMemAllocatorCallbackTemp_GetProperties(p,a1) ICOM_CALL1(GetProperties,p,a1)
1501#define IMemAllocatorCallbackTemp_Commit(p,a1) ICOM_CALL1(Commit,p,a1)
1502#define IMemAllocatorCallbackTemp_Decommit(p,a1) ICOM_CALL1(Decommit,p,a1)
1503#define IMemAllocatorCallbackTemp_GetBuffer(p,a1,a2,a3,a4) ICOM_CALL4(GetBuffer,p,a1,a2,a3,a4)
1504#define IMemAllocatorCallbackTemp_ReleaseBuffer(p,a1) ICOM_CALL1(ReleaseBuffer,p,a1)
1505 /*** IMemAllocatorCallbackTemp methods ***/
1506#define IMemAllocatorCallbackTemp_SetNotify(p,a1) ICOM_CALL1(SetNotify,p,a1)
1507#define IMemAllocatorCallbackTemp_GetFreeCount(p,a1) ICOM_CALL1(GetFreeCount,p,a1)
1508
1509/**************************************************************************
1510 *
1511 * IMemAllocatorNotifyCallbackTemp interface
1512 *
1513 */
1514
1515#define ICOM_INTERFACE IMemAllocatorNotifyCallbackTemp
1516#define IMemAllocatorNotifyCallbackTemp_METHODS \
1517 ICOM_METHOD (HRESULT,NotifyRelease)
1518
1519#define IMemAllocatorNotifyCallbackTemp_IMETHODS \
1520 IUnknown_IMETHODS \
1521 IMemAllocatorNotifyCallbackTemp_METHODS
1522
1523ICOM_DEFINE(IMemAllocatorNotifyCallbackTemp,IUnknown)
1524#undef ICOM_INTERFACE
1525
1526 /*** IUnknown methods ***/
1527#define IMemAllocatorNotifyCallbackTemp_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1528#define IMemAllocatorNotifyCallbackTemp_AddRef(p) ICOM_CALL (AddRef,p)
1529#define IMemAllocatorNotifyCallbackTemp_Release(p) ICOM_CALL (Release,p)
1530 /*** IMemAllocatorNotifyCallbackTemp methods ***/
1531#define IMemAllocatorNotifyCallbackTemp_NotifyRelease(p) ICOM_CALL (NotifyRelease,p)
1532
1533/**************************************************************************
1534 *
1535 * IMemInputPin interface
1536 *
1537 */
1538
1539#define ICOM_INTERFACE IMemInputPin
1540#define IMemInputPin_METHODS \
1541 ICOM_METHOD1(HRESULT,GetAllocator,IMemAllocator**,a1) \
1542 ICOM_METHOD2(HRESULT,NotifyAllocator,IMemAllocator*,a1,BOOL,a2) \
1543 ICOM_METHOD1(HRESULT,GetAllocatorRequirements,ALLOCATOR_PROPERTIES*,a1) \
1544 ICOM_METHOD1(HRESULT,Receive,IMediaSample*,a1) \
1545 ICOM_METHOD3(HRESULT,ReceiveMultiple,IMediaSample**,a1,long,a2,long*,a3) \
1546 ICOM_METHOD (HRESULT,ReceiveCanBlock)
1547
1548#define IMemInputPin_IMETHODS \
1549 IUnknown_IMETHODS \
1550 IMemInputPin_METHODS
1551
1552ICOM_DEFINE(IMemInputPin,IUnknown)
1553#undef ICOM_INTERFACE
1554
1555 /*** IUnknown methods ***/
1556#define IMemInputPin_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1557#define IMemInputPin_AddRef(p) ICOM_CALL (AddRef,p)
1558#define IMemInputPin_Release(p) ICOM_CALL (Release,p)
1559 /*** IMemInputPin methods ***/
1560#define IMemInputPin_GetAllocator(p,a1) ICOM_CALL1(GetAllocator,p,a1)
1561#define IMemInputPin_NotifyAllocator(p,a1,a2) ICOM_CALL2(NotifyAllocator,p,a1,a2)
1562#define IMemInputPin_GetAllocatorRequirements(p,a1) ICOM_CALL1(GetAllocatorRequirements,p,a1)
1563#define IMemInputPin_Receive(p,a1) ICOM_CALL1(Receive,p,a1)
1564#define IMemInputPin_ReceiveMultiple(p,a1,a2,a3) ICOM_CALL3(ReceiveMultiple,p,a1,a2,a3)
1565#define IMemInputPin_ReceiveCanBlock(p) ICOM_CALL (ReceiveCanBlock,p)
1566
1567/**************************************************************************
1568 *
1569 * IOverlay interface
1570 *
1571 */
1572
1573#define ICOM_INTERFACE IOverlay
1574#define IOverlay_METHODS \
1575 ICOM_METHOD2(HRESULT,GetPalette,DWORD*,a1,PALETTEENTRY**,a2) \
1576 ICOM_METHOD2(HRESULT,SetPalette,DWORD,a1,PALETTEENTRY*,a2) \
1577 ICOM_METHOD1(HRESULT,GetDefaultColorKey,COLORKEY*,a1) \
1578 ICOM_METHOD1(HRESULT,GetColorKey,COLORKEY*,a1) \
1579 ICOM_METHOD1(HRESULT,SetColorKey,COLORKEY*,a1) \
1580 ICOM_METHOD1(HRESULT,GetWindowHandle,HWND*,a1) \
1581 ICOM_METHOD3(HRESULT,GetClipList,RECT*,a1,RECT*,a2,RGNDATA**,a3) \
1582 ICOM_METHOD2(HRESULT,GetVideoPosition,RECT*,a1,RECT*,a2) \
1583 ICOM_METHOD2(HRESULT,Advise,IOverlayNotify*,a1,DWORD,a2) \
1584 ICOM_METHOD (HRESULT,Unadvise)
1585
1586#define IOverlay_IMETHODS \
1587 IUnknown_IMETHODS \
1588 IOverlay_METHODS
1589
1590ICOM_DEFINE(IOverlay,IUnknown)
1591#undef ICOM_INTERFACE
1592
1593 /*** IUnknown methods ***/
1594#define IOverlay_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1595#define IOverlay_AddRef(p) ICOM_CALL (AddRef,p)
1596#define IOverlay_Release(p) ICOM_CALL (Release,p)
1597 /*** IOverlay methods ***/
1598#define IOverlay_GetPalette(p,a1,a2) ICOM_CALL2(GetPalette,p,a1,a2)
1599#define IOverlay_SetPalette(p,a1,a2) ICOM_CALL2(SetPalette,p,a1,a2)
1600#define IOverlay_GetDefaultColorKey(p,a1) ICOM_CALL1(GetDefaultColorKey,p,a1)
1601#define IOverlay_GetColorKey(p,a1) ICOM_CALL1(GetColorKey,p,a1)
1602#define IOverlay_SetColorKey(p,a1) ICOM_CALL1(SetColorKey,p,a1)
1603#define IOverlay_GetWindowHandle(p,a1) ICOM_CALL1(GetWindowHandle,p,a1)
1604#define IOverlay_GetClipList(p,a1,a2,a3) ICOM_CALL3(GetClipList,p,a1,a2,a3)
1605#define IOverlay_GetVideoPosition(p,a1,a2) ICOM_CALL2(GetVideoPosition,p,a1,a2)
1606#define IOverlay_Advise(p,a1,a2) ICOM_CALL2(Advise,p,a1,a2)
1607#define IOverlay_Unadvise(p) ICOM_CALL1(Unadvise,p)
1608
1609/**************************************************************************
1610 *
1611 * IPin interface
1612 *
1613 */
1614
1615#define ICOM_INTERFACE IPin
1616#define IPin_METHODS \
1617 ICOM_METHOD2(HRESULT,Connect,IPin*,a1,const AM_MEDIA_TYPE*,a2) \
1618 ICOM_METHOD2(HRESULT,ReceiveConnection,IPin*,a1,const AM_MEDIA_TYPE*,a2) \
1619 ICOM_METHOD (HRESULT,Disconnect) \
1620 ICOM_METHOD1(HRESULT,ConnectedTo,IPin**,a1) \
1621 ICOM_METHOD1(HRESULT,ConnectionMediaType,AM_MEDIA_TYPE*,a1) \
1622 ICOM_METHOD1(HRESULT,QueryPinInfo,PIN_INFO*,a1) \
1623 ICOM_METHOD1(HRESULT,QueryDirection,PIN_DIRECTION*,a1) \
1624 ICOM_METHOD1(HRESULT,QueryId,LPWSTR*,a1) \
1625 ICOM_METHOD1(HRESULT,QueryAccept,const AM_MEDIA_TYPE*,a1) \
1626 ICOM_METHOD1(HRESULT,EnumMediaTypes,IEnumMediaTypes**,a1) \
1627 ICOM_METHOD2(HRESULT,QueryInternalConnections,IPin**,a1,ULONG*,a2) \
1628 ICOM_METHOD (HRESULT,EndOfStream) \
1629 ICOM_METHOD (HRESULT,BeginFlush) \
1630 ICOM_METHOD (HRESULT,EndFlush) \
1631 ICOM_METHOD3(HRESULT,NewSegment,REFERENCE_TIME,a1,REFERENCE_TIME,a2,double,a3)
1632
1633#define IPin_IMETHODS \
1634 IUnknown_IMETHODS \
1635 IPin_METHODS
1636
1637ICOM_DEFINE(IPin,IUnknown)
1638#undef ICOM_INTERFACE
1639
1640 /*** IUnknown methods ***/
1641#define IPin_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1642#define IPin_AddRef(p) ICOM_CALL (AddRef,p)
1643#define IPin_Release(p) ICOM_CALL (Release,p)
1644 /*** IPin methods ***/
1645#define IPin_Connect(p,a1,a2) ICOM_CALL2(Connect,p,a1,a2)
1646#define IPin_ReceiveConnection(p,a1,a2) ICOM_CALL2(ReceiveConnection,p,a1,a2)
1647#define IPin_Disconnect(p) ICOM_CALL (Disconnect,p)
1648#define IPin_ConnectedTo(p,a1) ICOM_CALL1(ConnectedTo,p,a1)
1649#define IPin_ConnectionMediaType(p,a1) ICOM_CALL1(ConnectionMediaType,p,a1)
1650#define IPin_QueryPinInfo(p,a1) ICOM_CALL1(QueryPinInfo,p,a1)
1651#define IPin_QueryDirection(p,a1) ICOM_CALL1(QueryDirection,p,a1)
1652#define IPin_QueryId(p,a1) ICOM_CALL1(QueryId,p,a1)
1653#define IPin_QueryAccept(p,a1) ICOM_CALL1(QueryAccept,p,a1)
1654#define IPin_EnumMediaTypes(p,a1) ICOM_CALL1(EnumMediaTypes,p,a1)
1655#define IPin_QueryInternalConnections(p,a1,a2) ICOM_CALL2(QueryInternalConnections,p,a1,a2)
1656#define IPin_EndOfStream(p) ICOM_CALL (EndOfStream,p)
1657#define IPin_BeginFlush(p) ICOM_CALL (BeginFlush,p)
1658#define IPin_EndFlush(p) ICOM_CALL (EndFlush,p)
1659#define IPin_NewSegment(p,a1,a2,a3) ICOM_CALL3(NewSegment,p,a1,a2,a3)
1660
1661/**************************************************************************
1662 *
1663 * IQualityControl interface
1664 *
1665 */
1666
1667#define ICOM_INTERFACE IQualityControl
1668#define IQualityControl_METHODS \
1669 ICOM_METHOD2(HRESULT,Notify,IBaseFilter*,a1,Quality,a2) \
1670 ICOM_METHOD1(HRESULT,SetSink,IQualityControl*,a1)
1671
1672#define IQualityControl_IMETHODS \
1673 IUnknown_IMETHODS \
1674 IQualityControl_METHODS
1675
1676ICOM_DEFINE(IQualityControl,IUnknown)
1677#undef ICOM_INTERFACE
1678
1679 /*** IUnknown methods ***/
1680#define IQualityControl_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1681#define IQualityControl_AddRef(p) ICOM_CALL (AddRef,p)
1682#define IQualityControl_Release(p) ICOM_CALL (Release,p)
1683 /*** IQualityControl methods ***/
1684#define IQualityControl_Notify(p,a1,a2) ICOM_CALL2(Notify,p,a1,a2)
1685#define IQualityControl_SetSink(p,a1) ICOM_CALL1(SetSink,p,a1)
1686
1687/**************************************************************************
1688 *
1689 * IReferenceClock interface
1690 *
1691 */
1692
1693#define ICOM_INTERFACE IReferenceClock
1694#define IReferenceClock_METHODS \
1695 ICOM_METHOD1(HRESULT,GetTime,REFERENCE_TIME*,a1) \
1696 ICOM_METHOD4(HRESULT,AdviseTime,REFERENCE_TIME,a1,REFERENCE_TIME,a2,HEVENT,a3,DWORD_PTR*,a4) \
1697 ICOM_METHOD4(HRESULT,AdvisePeriodic,REFERENCE_TIME,a1,REFERENCE_TIME,a2,HSEMAPHORE,a3,DWORD_PTR*,a4) \
1698 ICOM_METHOD1(HRESULT,Unadvise,DWORD_PTR,a1)
1699
1700#define IReferenceClock_IMETHODS \
1701 IUnknown_IMETHODS \
1702 IReferenceClock_METHODS
1703
1704ICOM_DEFINE(IReferenceClock,IUnknown)
1705#undef ICOM_INTERFACE
1706
1707 /*** IUnknown methods ***/
1708#define IReferenceClock_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1709#define IReferenceClock_AddRef(p) ICOM_CALL (AddRef,p)
1710#define IReferenceClock_Release(p) ICOM_CALL (Release,p)
1711 /*** IReferenceClock methods ***/
1712#define IReferenceClock_GetTime(p,a1) ICOM_CALL1(GetTime,p,a1)
1713#define IReferenceClock_AdviseTime(p,a1,a2,a3,a4) ICOM_CALL4(AdviseTime,p,a1,a2,a3,a4)
1714#define IReferenceClock_AdvisePeriodic(p,a1,a2,a3,a4) ICOM_CALL4(AdvisePeriodic,p,a1,a2,a3,a4)
1715#define IReferenceClock_Unadvise(p,a1) ICOM_CALL1(Unadvise,p,a1)
1716
1717/**************************************************************************
1718 *
1719 * IReferenceClock2 interface
1720 *
1721 */
1722
1723#define ICOM_INTERFACE IReferenceClock2
1724#define IReferenceClock2_METHODS
1725
1726#define IReferenceClock2_IMETHODS \
1727 IReferenceClock_IMETHODS \
1728 IReferenceClock2_METHODS
1729
1730ICOM_DEFINE(IReferenceClock2,IReferenceClock)
1731#undef ICOM_INTERFACE
1732
1733 /*** IUnknown methods ***/
1734#define IReferenceClock2_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1735#define IReferenceClock2_AddRef(p) ICOM_CALL (AddRef,p)
1736#define IReferenceClock2_Release(p) ICOM_CALL (Release,p)
1737 /*** IReferenceClock methods ***/
1738#define IReferenceClock2_GetTime(p,a1) ICOM_CALL1(GetTime,p,a1)
1739#define IReferenceClock2_AdviseTime(p,a1,a2,a3,a4) ICOM_CALL4(AdviseTime,p,a1,a2,a3,a4)
1740#define IReferenceClock2_AdvisePeriodic(p,a1,a2,a3,a4) ICOM_CALL4(AdvisePeriodic,p,a1,a2,a3,a4)
1741#define IReferenceClock2_Unadvise(p,a1) ICOM_CALL1(Unadvise,p,a1)
1742 /*** IReferenceClock2 methods ***/
1743
1744/**************************************************************************
1745 *
1746 * ISeekingPassThru interface
1747 *
1748 */
1749
1750#define ICOM_INTERFACE ISeekingPassThru
1751#define ISeekingPassThru_METHODS \
1752 ICOM_METHOD2(HRESULT,Init,BOOL,a1,IPin*,a2)
1753
1754#define ISeekingPassThru_IMETHODS \
1755 IUnknown_IMETHODS \
1756 ISeekingPassThru_METHODS
1757
1758ICOM_DEFINE(ISeekingPassThru,IUnknown)
1759#undef ICOM_INTERFACE
1760
1761 /*** IUnknown methods ***/
1762#define ISeekingPassThru_QueryInterface(p,a1,a2) ICOM_CALL2(QueryInterface,p,a1,a2)
1763#define ISeekingPassThru_AddRef(p) ICOM_CALL (AddRef,p)
1764#define ISeekingPassThru_Release(p) ICOM_CALL (Release,p)
1765 /*** ISeekingPassThru methods ***/
1766#define ISeekingPassThru_Init(p,a1,a2) ICOM_CALL2(Init,p,a1,a2)
1767
1768
1769
1770
1771#endif /* __WINE_STRMIF_H_ */
Note: See TracBrowser for help on using the repository browser.