~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/include/axextend.idl

Version: ~ [ wine-1.0-rc1 ] ~ [ wine-0.9.61 ] ~ [ wine-0.9.60 ] ~ [ wine-0.9.59 ] ~ [ wine-0.9.58 ] ~ [ wine-0.9.57 ] ~ [ wine-0.9.56 ] ~ [ wine-0.9.55 ] ~ [ wine-0.9.54 ] ~ [ wine-0.9.53 ] ~ [ wine-0.9.52 ] ~ [ wine-0.9.51 ] ~ [ wine-0.9.50 ] ~ [ wine-0.9.49 ] ~ [ wine-0.9.48 ] ~ [ wine-0.9.47 ] ~ [ wine-0.9.46 ] ~ [ wine-0.9.45 ] ~ [ wine-0.9.44 ] ~ [ wine-0.9.43 ] ~ [ wine-0.9.42 ] ~ [ wine-0.9.41 ] ~ [ wine-0.9.40 ] ~ [ wine-0.9.39 ] ~ [ wine-0.9.38 ] ~ [ wine-0.9.37 ] ~ [ wine-0.9.36 ] ~ [ wine-0.9.35 ] ~ [ wine-0.9.34 ] ~ [ wine-0.9.33 ] ~ [ wine-0.9.32 ] ~ [ wine-0.9.31 ] ~ [ wine-0.9.30 ] ~ [ wine-0.9.29 ] ~ [ wine-0.9.28 ] ~ [ wine-0.9.27 ] ~ [ wine-0.9.26 ] ~ [ wine-0.9.25 ] ~ [ wine-0.9.24 ] ~ [ wine-0.9.23 ] ~ [ wine-0.9.22 ] ~ [ wine-0.9.21 ] ~ [ wine-0.9.20 ] ~ [ wine-0.9.19 ] ~ [ wine-0.9.18 ] ~ [ wine-0.9.17 ] ~ [ wine-0.9.16 ] ~ [ wine-0.9.15 ] ~ [ wine-0.9.14 ] ~ [ wine-0.9.13 ] ~ [ wine-0.9.12 ] ~ [ wine-0.9.11 ] ~ [ wine-0.9.10 ] ~ [ wine-0.9.9 ] ~ [ wine-0.9.8 ] ~ [ wine-0.9.7 ] ~ [ wine-0.9.6 ] ~ [ wine-0.9.5 ] ~ [ wine-0.9.4 ] ~ [ wine-0.9.3 ] ~ [ wine-0.9.2 ] ~ [ wine-0.9.1 ] ~ [ wine-0.9 ] ~ [ wine20050930 ] ~ [ wine20050830 ] ~ [ wine20050725 ] ~ [ wine20050628 ] ~ [ wine20050524 ] ~ [ wine20050419 ] ~ [ wine20050310 ] ~ [ wine20050211 ] ~ [ wine20050111 ] ~ [ wine20041201 ] ~ [ wine20041019 ] ~ [ wine20040914 ] ~ [ wine20040813 ] ~ [ wine20040716 ] ~ [ wine20040615 ] ~ [ wine20040505 ] ~ [ wine20040408 ] ~ [ wine20040309 ] ~ [ wine20040213 ] ~ [ wine20040121 ] ~ [ wine20031212 ] ~ [ wine20031118 ] ~ [ wine20031016 ] ~ [ wine20030911 ] ~ [ wine20030813 ] ~ [ wine20030709 ] ~ [ wine20030618 ] ~ [ wine20030508 ] ~ [ wine20030408 ] ~ [ wine20030318 ] ~ [ wine20030219 ] ~ [ wine20030115 ] ~ [ wine20021219 ] ~ [ wine20021125 ] ~ [ wine20021031 ] ~ [ wine20021007 ] ~ [ wine20020904 ] ~ [ wine20020804 ] ~ [ wine20020710 ] ~ [ wine20020605 ] ~ [ wine20020509 ] ~ [ wine20020411 ] ~ [ wine20020310 ] ~ [ wine20020228 ] ~ [ wine20011226 ] ~ [ wine20011108 ] ~ [ wine20011004 ] ~ [ wine20010824 ] ~ [ wine20010731 ] ~ [ wine20010629 ] ~ [ wine20010510 ] ~ [ wine20010418 ] ~ [ wine20010326 ] ~ [ wine20010305 ] ~ [ wine20010216 ] ~ [ wine20010112 ] ~ [ wine20001222 ] ~ [ wine20001202 ] ~ [ wine20001026 ] ~ [ wine20001002 ] ~ [ wine20000909 ] ~ [ wine20000821 ] ~ [ wine20000801 ] ~ [ wine20000716 ] ~ [ wine20000326 ] ~ [ wine20000227 ] ~ [ wine20000130 ] ~ [ wine20000109 ] ~

  1 /*
  2  * Copyright (C) 2002 Robert Shearman
  3  *
  4  * This library is free software; you can redistribute it and/or
  5  * modify it under the terms of the GNU Lesser General Public
  6  * License as published by the Free Software Foundation; either
  7  * version 2.1 of the License, or (at your option) any later version.
  8  *
  9  * This library is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12  * Lesser General Public License for more details.
 13  *
 14  * You should have received a copy of the GNU Lesser General Public
 15  * License along with this library; if not, write to the Free Software
 16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 17  */
 18 
 19 interface IAMAnalogVideoDecoder;
 20 interface IAMAnalogVideoEncoder;
 21 interface IAMAudioInputMixer;
 22 interface IAMAudioRendererStats;
 23 interface IAMBufferNegotiation;
 24 interface IAMCameraControl;
 25 interface IAMCopyCaptureFileProgress;
 26 interface IAMCrossbar;
 27 interface IAMDevMemoryAllocator;
 28 interface IAMDevMemoryControl;
 29 interface IAMDroppedFrames;
 30 interface IAMExtDevice;
 31 interface IAMExtTransport;
 32 interface IAMGraphStreams;
 33 interface IAMLatency;
 34 interface IAMOpenProgress;
 35 interface IAMOverlayFX;
 36 interface IAMPhysicalPinInfo;
 37 interface IAMPushSource;
 38 interface IAMStreamConfig;
 39 interface IAMTimecodeDisplay;
 40 interface IAMTimecodeGenerator;
 41 interface IAMTimecodeReader;
 42 interface IAMTVTuner;
 43 interface IAMVfwCaptureDialogs;
 44 interface IAMVfwCompressDialogs;
 45 interface IAMVideoCompression;
 46 interface IAMVideoDecimationProperties;
 47 interface IAMVideoProcAmp;
 48 interface ICaptureGraphBuilder;
 49 interface ICaptureGraphBuilder2;
 50 interface IConfigAviMux;
 51 interface IConfigInterleaving;
 52 interface IDecimateVideoImage;
 53 interface IDrawVideoImage;
 54 interface IEnumRegFilters;
 55 interface IEnumStreamIdMap;
 56 interface IFileSourceFilter;
 57 interface IFileSinkFilter;
 58 interface IFileSinkFilter2;
 59 interface IFilterMapper;
 60 interface IFilterMapper2;
 61 interface IGraphBuilder;
 62 interface IKsPropertySet;
 63 interface IMediaEventSink;
 64 interface IMpeg2Demultiplexer;
 65 interface IMPEG2StreamIdMap;
 66 interface IOverlay;
 67 interface IOverlayNotify;
 68 interface IOverlayNotify2;
 69 interface IQualityControl;
 70 interface ISeekingPassThru;
 71 
 72 typedef struct
 73 {
 74     CLSID Clsid;
 75     LPWSTR Name;
 76 } REGFILTER;
 77 
 78 [
 79 object,
 80 uuid(56a868a4-0ad4-11ce-b03a-0020af0ba770),
 81 pointer_default(unique)
 82 ]
 83 interface IEnumRegFilters : IUnknown
 84 {
 85     HRESULT Next
 86         ( [in]  ULONG cFilters,
 87           [out] REGFILTER ** apRegFilter,
 88           [out] ULONG * pcFetched
 89         );
 90 
 91     HRESULT Skip(
 92         [in] ULONG cFilters
 93     );
 94 
 95     HRESULT Reset(void);
 96 
 97     HRESULT Clone(
 98         [out] IEnumRegFilters **ppEnum
 99     );
100 }
101 
102 
103 typedef IEnumRegFilters *PENUMREGFILTERS;
104 
105 [
106 object,
107 uuid(56a868a3-0ad4-11ce-b03a-0020af0ba770),
108 pointer_default(unique)
109 ]
110 interface IFilterMapper : IUnknown
111 {
112     enum { MERIT_PREFERRED     = 0x800000,
113            MERIT_NORMAL        = 0x600000,
114            MERIT_UNLIKELY      = 0x400000,
115            MERIT_DO_NOT_USE    = 0x200000,
116            MERIT_SW_COMPRESSOR = 0x100000,
117            MERIT_HW_COMPRESSOR = 0x100050
118          };
119 
120     HRESULT RegisterFilter
121         ( [in] CLSID   clsid,
122           [in] LPCWSTR Name,
123           [in] DWORD   dwMerit
124         );
125 
126     HRESULT RegisterFilterInstance
127         ( [in]  CLSID  clsid,
128           [in]  LPCWSTR Name,
129           [out] CLSID *MRId
130         );
131 
132 
133     HRESULT RegisterPin
134         ( [in] CLSID   Filter,
135           [in] LPCWSTR Name,
136           [in] BOOL    bRendered,
137           [in] BOOL    bOutput,
138           [in] BOOL    bZero,
139           [in] BOOL    bMany,
140           [in] CLSID   ConnectsToFilter,
141           [in] LPCWSTR ConnectsToPin
142         );
143 
144     HRESULT RegisterPinType
145         ( [in] CLSID   clsFilter,
146           [in] LPCWSTR strName,
147           [in] CLSID   clsMajorType,
148           [in] CLSID   clsSubType
149         );
150 
151 
152     HRESULT UnregisterFilter
153         ( [in] CLSID  Filter
154         );
155 
156 
157     HRESULT UnregisterFilterInstance
158         ( [in] CLSID  MRId
159         );
160 
161 
162     HRESULT UnregisterPin
163         ( [in] CLSID   Filter,
164           [in] LPCWSTR Name
165         );
166 
167     HRESULT EnumMatchingFilters
168        ( [out] IEnumRegFilters **ppEnum,
169          [in]  DWORD dwMerit,
170          [in]  BOOL  bInputNeeded,
171          [in]  CLSID clsInMaj,
172          [in]  CLSID clsInSub,
173          [in]  BOOL  bRender,
174          [in]  BOOL  bOututNeeded,
175          [in]  CLSID clsOutMaj,
176          [in]  CLSID clsOutSub
177        );
178 
179 }
180 
181 typedef struct
182 {
183     const CLSID * clsMajorType;
184     const CLSID * clsMinorType;
185 } REGPINTYPES;
186 
187 typedef struct
188 {
189     LPWSTR           strName;
190     BOOL             bRendered;
191     BOOL             bOutput;
192     BOOL             bZero;
193     BOOL             bMany;
194     const CLSID *    clsConnectsToFilter;
195     const WCHAR *    strConnectsToPin;
196     UINT             nMediaTypes;
197     const REGPINTYPES * lpMediaType;
198 } REGFILTERPINS;
199 
200 typedef struct
201 {
202     CLSID clsMedium;
203     DWORD dw1;
204     DWORD dw2;
205 } REGPINMEDIUM;
206 
207 enum
208 {
209     REG_PINFLAG_B_ZERO = 0x1,
210     REG_PINFLAG_B_RENDERER = 0x2,
211     REG_PINFLAG_B_MANY = 0x4,
212     REG_PINFLAG_B_OUTPUT = 0x8
213 };
214 
215 
216 typedef struct
217 {
218     DWORD dwFlags;
219     UINT             cInstances;
220     UINT             nMediaTypes;
221     [size_is(nMediaTypes)] const REGPINTYPES * lpMediaType;
222     UINT             nMediums;
223     [size_is(nMediums)] const REGPINMEDIUM *lpMedium;
224     const CLSID      *clsPinCategory;
225 } REGFILTERPINS2;
226 
227 typedef struct
228 {
229     DWORD dwVersion;
230     DWORD dwMerit;
231     [switch_is(dwVersion)] [switch_type(DWORD)] union
232     {
233         [case(1)]
234             struct
235             {
236                 ULONG cPins;
237                 [size_is(cPins)] const REGFILTERPINS *rgPins;
238             } DUMMYSTRUCTNAME;
239 
240         [case(2)]
241             struct
242             {
243                 ULONG cPins2;
244                 [size_is(cPins2)] const REGFILTERPINS2 *rgPins2;
245             } DUMMYSTRUCTNAME1;
246 
247         [default]
248             ;
249     } DUMMYUNIONNAME;
250 
251 } REGFILTER2;
252 
253 
254 [
255 object,
256 uuid(b79bb0b0-33c1-11d1-abe1-00a0c905f375),
257 pointer_default(unique)
258 ]
259 interface IFilterMapper2 : IUnknown
260 {
261     HRESULT CreateCategory
262         ( [in] REFCLSID clsidCategory,
263           [in] DWORD dwCategoryMerit,
264           [in] LPCWSTR Description
265           );
266 
267     HRESULT UnregisterFilter
268         ( [in] const CLSID *pclsidCategory,
269           [in] const OLECHAR *szInstance,
270           [in] REFCLSID Filter
271         );
272 
273     HRESULT RegisterFilter
274         ( [in] REFCLSID clsidFilter,
275           [in] LPCWSTR Name,
276           [in, out] IMoniker **ppMoniker,
277           [in] const CLSID *pclsidCategory,
278           [in] const OLECHAR *szInstance,
279           [in] const REGFILTER2 *prf2
280         );
281 
282     HRESULT EnumMatchingFilters
283        ( [out] IEnumMoniker **ppEnum,
284          [in]  DWORD dwFlags,
285          [in]  BOOL bExactMatch,
286          [in]  DWORD dwMerit,
287          [in]  BOOL  bInputNeeded,
288          [in]  DWORD cInputTypes,
289          [size_is(cInputTypes*2)]  const GUID *pInputTypes,
290          [in]  const REGPINMEDIUM *pMedIn,
291          [in]  const CLSID *pPinCategoryIn,
292          [in]  BOOL  bRender,
293          [in]  BOOL  bOutputNeeded,
294          [in]  DWORD cOutputTypes,
295          [size_is(cOutputTypes*2)]  const GUID *pOutputTypes,
296          [in]  const REGPINMEDIUM *pMedOut,
297          [in]  const CLSID *pPinCategoryOut
298        );
299 }
300 
301 [
302 object,
303 uuid(b79bb0b1-33c1-11d1-abe1-00a0c905f375),
304 pointer_default(unique)
305 ]
306 interface IFilterMapper3 : IFilterMapper2
307 {
308     HRESULT GetICreateDevEnum( [out] ICreateDevEnum **ppEnum );
309 }
310 
311 typedef enum tagQualityMessageType
312 {
313     Famine,
314     Flood
315 } QualityMessageType;
316 
317 typedef struct tagQuality
318 {
319     QualityMessageType Type;
320     long               Proportion;
321     REFERENCE_TIME       Late;
322     REFERENCE_TIME       TimeStamp;
323 } Quality;
324 
325 typedef IQualityControl *PQUALITYCONTROL;
326 
327 [
328 object,
329 uuid(56a868a5-0ad4-11ce-b03a-0020af0ba770),
330 pointer_default(unique)
331 ]
332 interface IQualityControl : IUnknown
333 {
334     HRESULT Notify
335         ( [in] IBaseFilter * pSelf,
336           [in] Quality q
337         );
338 
339     HRESULT SetSink
340         ( [in] IQualityControl * piqc
341         );
342 }
343 
344 enum
345 {
346     CK_NOCOLORKEY  = 0x0,
347     CK_INDEX       = 0x1,
348     CK_RGB         = 0x2
349 };
350 
351 typedef struct tagCOLORKEY
352 {
353     DWORD    KeyType;
354     DWORD    PaletteIndex;
355     COLORREF LowColorValue;
356     COLORREF HighColorValue;
357 } COLORKEY;
358 
359 enum
360 {
361     ADVISE_NONE = 0x0,
362     ADVISE_CLIPPING = 0x1,
363     ADVISE_PALETTE = 0x2,
364     ADVISE_COLORKEY = 0x4,
365     ADVISE_POSITION = 0x8,
366     ADVISE_DISPLAY_CHANGE = 0x10
367 };
368 
369 const DWORD ADVISE_ALL = ADVISE_CLIPPING |
370                          ADVISE_PALETTE  |
371                          ADVISE_COLORKEY |
372                          ADVISE_POSITION;
373 
374 const DWORD ADVISE_ALL2 = ADVISE_ALL |
375                           ADVISE_DISPLAY_CHANGE;
376 
377 cpp_quote("#ifndef _WINGDI_")
378 
379 /* already defined in wingdi.h, but needed for WIDL */
380 
381 typedef struct _RGNDATAHEADER
382 {
383     DWORD dwSize;
384     DWORD iType;
385     DWORD nCount;
386     DWORD nRgnSize;
387     RECT  rcBound;
388 } RGNDATAHEADER;
389 
390 typedef struct _RGNDATA
391 {
392     RGNDATAHEADER rdh;
393     char Buffer[1];
394 } RGNDATA;
395 
396 cpp_quote("#endif /* _WINGDI_ */")
397 
398 [
399 object,
400 local,
401 uuid(56a868a0-0ad4-11ce-b03a-0020af0ba770),
402 pointer_default(unique)
403 ]
404 interface IOverlayNotify : IUnknown
405 {
406     HRESULT OnPaletteChange(
407         [in] DWORD dwColors,
408         [in] const PALETTEENTRY *pPalette);
409 
410     HRESULT OnClipChange(
411         [in] const RECT *pSourceRect,
412         [in] const RECT *pDestinationRect,
413         [in] const RGNDATA *pRgnData);
414 
415     HRESULT OnColorKeyChange([in] const COLORKEY *pColorKey);
416 
417     HRESULT OnPositionChange([in] const RECT *pSourceRect,
418                              [in] const RECT *pDestinationRect);
419 }
420 
421 typedef IOverlayNotify *POVERLAYNOTIFY;
422 
423 cpp_quote("#if 0")
424 typedef HANDLE HMONITOR;
425 cpp_quote("#endif /* 0 */")
426 
427 [
428 object,
429 local,
430 uuid(680EFA10-D535-11D1-87C8-00A0C9223196),
431 pointer_default(unique)
432 ]
433 interface IOverlayNotify2 : IOverlayNotify
434 {
435     HRESULT OnDisplayChange(
436         HMONITOR hMonitor);
437 }
438 
439 typedef IOverlayNotify2 *POVERLAYNOTIFY2;
440 
441 [
442 object,
443 local,
444 uuid(56a868a1-0ad4-11ce-b03a-0020af0ba770),
445 pointer_default(unique)
446 ]
447 interface IOverlay : IUnknown
448 {
449     HRESULT GetPalette(
450         [out] DWORD *pdwColors,
451         [out] PALETTEENTRY **ppPalette);
452 
453     HRESULT SetPalette(
454         [in] DWORD dwColors,
455         [in] PALETTEENTRY *pPalette);
456 
457     HRESULT GetDefaultColorKey([out] COLORKEY *pColorKey);
458 
459     HRESULT GetColorKey([out] COLORKEY *pColorKey);
460 
461     HRESULT SetColorKey([in,out] COLORKEY *pColorKey);
462 
463     HRESULT GetWindowHandle([out] HWND *pHwnd);
464 
465     HRESULT GetClipList([out] RECT *pSourceRect,
466                         [out] RECT *pDestinationRect,
467                         [out] RGNDATA **ppRgnData);
468 
469     HRESULT GetVideoPosition([out] RECT *pSourceRect,
470                              [out] RECT *pDestinationRect);
471 
472     HRESULT Advise(
473         [in] IOverlayNotify *pOverlayNotify,
474         [in] DWORD dwInterests);
475 
476     HRESULT Unadvise();
477 }
478 
479 typedef IOverlay *POVERLAY;
480 
481 [
482 object,
483 uuid(56a868a2-0ad4-11ce-b03a-0020af0ba770),
484 pointer_default(unique)
485 ]
486 interface IMediaEventSink : IUnknown
487 {
488     HRESULT Notify(
489         [in] long EventCode,
490         [in] LONG_PTR EventParam1,
491         [in] LONG_PTR EventParam2
492     );
493 }
494 
495 typedef IMediaEventSink *PMEDIAEVENTSINK;
496 
497 [
498 object,
499 uuid(56a868a6-0ad4-11ce-b03a-0020af0ba770),
500 pointer_default(unique)
501 ]
502 interface IFileSourceFilter : IUnknown
503 {
504     HRESULT Load(
505         [in] LPCOLESTR pszFileName,
506         [in, unique] const AM_MEDIA_TYPE *pmt
507     );
508 
509     HRESULT GetCurFile(
510         [out] LPOLESTR *ppszFileName,
511         [out] AM_MEDIA_TYPE *pmt
512     );
513 }
514 
515 typedef IFileSourceFilter *PFILTERFILESOURCE;
516 
517 [
518 object,
519 uuid(a2104830-7c70-11cf-8bce-00aa00a3f1a6),
520 pointer_default(unique)
521 ]
522 interface IFileSinkFilter : IUnknown
523 {
524     HRESULT SetFileName(
525         [in] LPCOLESTR pszFileName,
526         [in, unique] const AM_MEDIA_TYPE *pmt
527     );
528 
529     HRESULT GetCurFile(
530         [out] LPOLESTR *ppszFileName,
531         [out] AM_MEDIA_TYPE *pmt
532     );
533 }
534 
535 typedef IFileSinkFilter *PFILTERFILESINK;
536 
537 [
538         object,
539         uuid(00855B90-CE1B-11d0-BD4F-00A0C911CE86),
540         pointer_default(unique)
541 ]
542 interface IFileSinkFilter2 : IFileSinkFilter
543 {
544     HRESULT SetMode(
545         [in] DWORD dwFlags
546     );
547 
548     HRESULT GetMode(
549         [out] DWORD *pdwFlags
550     );
551 }
552 
553 typedef IFileSinkFilter2 *PFILESINKFILTER2;
554 
555 typedef enum
556 {
557     AM_FILE_OVERWRITE = 0x00000001,
558 } AM_FILESINK_FLAGS;
559 
560 [
561 object,
562 uuid(56a868a9-0ad4-11ce-b03a-0020af0ba770),
563 pointer_default(unique)
564 ]
565 interface IGraphBuilder : IFilterGraph
566 {
567     HRESULT Connect
568         ( [in] IPin * ppinOut,
569           [in] IPin * ppinIn
570         );
571 
572     HRESULT Render
573         ( [in] IPin * ppinOut
574         );
575 
576     HRESULT RenderFile
577         ( [in] LPCWSTR lpcwstrFile,
578           [in, unique] LPCWSTR lpcwstrPlayList
579         );
580 
581     HRESULT AddSourceFilter
582         ( [in]      LPCWSTR lpcwstrFileName,
583           [in, unique]      LPCWSTR lpcwstrFilterName,
584           [out]     IBaseFilter* *ppFilter
585         );
586 
587     HRESULT SetLogFile
588         ( [in]      DWORD_PTR hFile
589         );
590 
591     HRESULT Abort();
592 
593     HRESULT ShouldOperationContinue();
594 }
595 
596 
597 [
598     object,
599     uuid(bf87b6e0-8c27-11d0-b3f0-00aa003761c5),
600     pointer_default(unique)
601 ]
602 interface ICaptureGraphBuilder : IUnknown {
603 
604     HRESULT SetFiltergraph(
605         [in] IGraphBuilder *pfg);
606 
607     HRESULT GetFiltergraph(
608         [out] IGraphBuilder **ppfg);
609 
610     HRESULT SetOutputFileName(
611         [in] const GUID *pType,
612         [in] LPCOLESTR lpstrFile,
613         [out] IBaseFilter **ppf,
614         [out] IFileSinkFilter **ppSink);
615 
616     [local] HRESULT FindInterface(
617         [in, unique] const GUID *pCategory,
618         [in] IBaseFilter *pf,
619         [in] REFIID riid,
620         [out] void **ppint);
621 
622     [call_as(FindInterface)] HRESULT RemoteFindInterface(
623         [in, unique] const GUID *pCategory,
624         [in] IBaseFilter *pf,
625         [in] REFIID riid,
626         [out] IUnknown **ppint);
627 
628     HRESULT RenderStream(
629         [in] const GUID *pCategory,
630         [in] IUnknown *pSource,
631         [in] IBaseFilter *pfCompressor,
632         [in] IBaseFilter *pfRenderer);
633 
634     HRESULT ControlStream(
635         [in] const GUID *pCategory,
636         [in] IBaseFilter *pFilter,
637         [in] REFERENCE_TIME *pstart,
638         [in] REFERENCE_TIME *pstop,
639         [in] WORD wStartCookie,
640         [in] WORD wStopCookie);
641 
642     HRESULT AllocCapFile(
643         [in] LPCOLESTR lpstr,
644         [in] DWORDLONG dwlSize);
645 
646     HRESULT CopyCaptureFile(
647         [in] LPOLESTR lpwstrOld,
648         [in] LPOLESTR lpwstrNew,
649         [in] int fAllowEscAbort,
650         [in] IAMCopyCaptureFileProgress *pCallback);
651 }
652 
653 [
654 object,
655 uuid(670d1d20-a068-11d0-b3f0-00aa003761c5),
656 pointer_default(unique)
657 ]
658 interface IAMCopyCaptureFileProgress : IUnknown
659 {
660     HRESULT Progress(
661         [in] int iProgress);
662 }
663 
664 [
665     object,
666     uuid(93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D),
667     pointer_default(unique)
668 ]
669 interface ICaptureGraphBuilder2 : IUnknown
670 {
671     HRESULT SetFiltergraph(
672         [in] IGraphBuilder *pfg);
673 
674     HRESULT GetFiltergraph(
675         [out] IGraphBuilder **ppfg);
676 
677     HRESULT SetOutputFileName(
678         [in] const GUID *pType,
679         [in] LPCOLESTR lpstrFile,
680         [out] IBaseFilter **ppf,
681         [out] IFileSinkFilter **ppSink);
682 
683     [local] HRESULT FindInterface(
684         [in] const GUID *pCategory,
685         [in] const GUID *pType,
686         [in] IBaseFilter *pf,
687         [in] REFIID riid,
688         [out] void **ppint);
689 
690     [call_as(FindInterface)] HRESULT RemoteFindInterface(
691         [in] const GUID *pCategory,
692         [in] const GUID *pType,
693         [in] IBaseFilter *pf,
694         [in] REFIID riid,
695         [out] IUnknown **ppint);
696 
697     HRESULT RenderStream(
698         [in] const GUID *pCategory,
699         [in] const GUID *pType,
700         [in] IUnknown *pSource,
701         [in] IBaseFilter *pfCompressor,
702         [in] IBaseFilter *pfRenderer);
703 
704     HRESULT ControlStream(
705         [in] const GUID *pCategory,
706         [in] const GUID *pType,
707         [in] IBaseFilter *pFilter,
708         [in] REFERENCE_TIME *pstart,
709         [in] REFERENCE_TIME *pstop,
710         [in] WORD wStartCookie,
711         [in] WORD wStopCookie);
712 
713     HRESULT AllocCapFile(
714         [in] LPCOLESTR lpstr,
715         [in] DWORDLONG dwlSize);
716 
717     HRESULT CopyCaptureFile(
718         [in] LPOLESTR lpwstrOld,
719         [in] LPOLESTR lpwstrNew,
720         [in] int fAllowEscAbort,
721         [in] IAMCopyCaptureFileProgress *pCallback);
722 
723     HRESULT FindPin(
724         [in] IUnknown *pSource,
725         [in] PIN_DIRECTION pindir,
726         [in] const GUID *pCategory,
727         [in] const GUID *pType,
728         [in] BOOL fUnconnected,
729         [in] int num,
730         [out] IPin **ppPin);
731 }
732 
733 enum _AM_RENSDEREXFLAGS
734 {
735     AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x01
736 };
737 
738 [
739     object,
740     uuid(36b73882-c2c8-11cf-8b46-00805f6cef60),
741     pointer_default(unique)
742 ]
743 interface IFilterGraph2: IGraphBuilder
744 {
745     HRESULT AddSourceFilterForMoniker(
746           [in] IMoniker *pMoniker,
747           [in] IBindCtx *pCtx,
748           [in, unique] LPCWSTR lpcwstrFilterName,
749           [out] IBaseFilter **ppFilter
750     );
751 
752     HRESULT ReconnectEx
753         ( [in] IPin * ppin,
754           [in, unique] const AM_MEDIA_TYPE *pmt
755         );
756 
757     HRESULT RenderEx( [in] IPin *pPinOut,
758                       [in] DWORD dwFlags,
759                       [in, out] DWORD *pvContext
760                     );
761 }
762 
763 [
764     object,
765     local,
766     uuid(56a868bf-0ad4-11ce-b03a-0020af0ba770),
767     pointer_default(unique)
768 ]
769 interface IStreamBuilder : IUnknown
770 {
771     HRESULT Render
772         ( [in] IPin * ppinOut,
773           [in] IGraphBuilder * pGraph
774         );
775 
776     HRESULT Backout
777         ( [in] IPin * ppinOut,
778           [in] IGraphBuilder * pGraph
779         );
780 }
781 
782 
783 /*****************************************************************************
784  * IAMStreamConfig interface
785  */
786 [
787     object,
788     uuid(c6e13340-30ac-11d0-a18c-00a0c9118956),
789     pointer_default(unique)
790 ]
791 interface IAMStreamConfig : IUnknown
792 {
793     HRESULT SetFormat( [in] AM_MEDIA_TYPE *pmt);
794     HRESULT GetFormat( [in] AM_MEDIA_TYPE **pmt);
795     HRESULT GetNumberOfCapabilities( [out] int *piCount, [out] int *piSize);
796     HRESULT GetStreamCaps( [in] int iIndex, [out] AM_MEDIA_TYPE **pmt,
797                           [out] BYTE *pSCC);
798 }
799 
800 
801 typedef enum tagVideoProcAmpProperty
802 {
803     VideoProcAmp_Brightness,
804     VideoProcAmp_Contrast,
805     VideoProcAmp_Hue,
806     VideoProcAmp_Saturation,
807     VideoProcAmp_Sharpness,
808     VideoProcAmp_Gamma,
809     VideoProcAmp_ColorEnable,
810     VideoProcAmp_WhiteBalance,
811     VideoProcAmp_BacklightCompensation,
812     VideoProcAmp_Gain
813 } VideoProcAmpProperty;
814 
815 typedef enum tagVideoProcAmpFlags
816 {
817     VideoProcAmp_Flags_Auto   = 0x0001,
818     VideoProcAmp_Flags_Manual = 0x0002,
819 } VideoProcAmpFlags;
820 
821 /*****************************************************************************
822  * IAMVideoProcAmp interface
823  */
824 [
825     object,
826     uuid(c6e13360-30ac-11d0-a18c-00a0c9118956),
827     pointer_default(unique)
828 ]
829 interface IAMVideoProcAmp : IUnknown
830 {
831     HRESULT GetRange( [in] long Property, [out] long *pMin, [out] long *pMax,
832                      [out] long *pSteppingDelta, [out] long *pDefault,
833                      [out] long *pCapsFlags);
834     HRESULT Set( [in] long Property, [in] long lValue, [in] long Flags);
835     HRESULT Get( [in] long Property, [out] long *lValue, [out] long *Flags);
836 }
837 
838 
839 [
840         object,
841         uuid(56a868aa-0ad4-11ce-b03a-0020af0ba770),
842         pointer_default(unique)
843 ]
844 interface IAsyncReader : IUnknown
845 {
846     HRESULT RequestAllocator(
847                 [in]  IMemAllocator* pPreferred,
848                 [in]  ALLOCATOR_PROPERTIES* pProps,
849                 [out] IMemAllocator ** ppActual);
850 
851     HRESULT Request(
852                 [in] IMediaSample* pSample,
853                 [in] DWORD_PTR dwUser);
854 
855     HRESULT WaitForNext(
856                 [in]  DWORD dwTimeout,
857                 [out] IMediaSample** ppSample,
858                 [out] DWORD_PTR * pdwUser);
859 
860     HRESULT SyncReadAligned(
861                 [in] IMediaSample* pSample);
862 
863     HRESULT SyncRead(
864                 [in]  LONGLONG llPosition,
865                 [in]  LONG lLength,
866                 [out, size_is(lLength)]
867                       BYTE* pBuffer);
868 
869     HRESULT Length(
870                 [out] LONGLONG* pTotal,
871                 [out] LONGLONG* pAvailable);
872 
873     HRESULT BeginFlush(void);
874 
875     HRESULT EndFlush(void);
876 }
877 
878 
879 [
880     object,
881     uuid(56a868ab-0ad4-11ce-b03a-0020af0ba770),
882     pointer_default(unique)
883 ]
884 interface IGraphVersion : IUnknown
885 {
886     HRESULT QueryVersion(LONG* pVersion);
887 }
888 
889 [
890     object,
891     uuid(56a868ad-0ad4-11ce-b03a-0020af0ba770),
892     pointer_default(unique)
893 ]
894 interface IResourceConsumer : IUnknown
895 {
896     HRESULT AcquireResource(
897         [in] LONG idResource);
898 
899     HRESULT ReleaseResource(
900         [in] LONG idResource);
901 }
902 
903 
904 [
905     object,
906     uuid(56a868ac-0ad4-11ce-b03a-0020af0ba770),
907     pointer_default(unique)
908 ]
909 interface IResourceManager : IUnknown
910 {
911     HRESULT Register(
912         [in] LPCWSTR pName,
913         [in] LONG   cResource,
914         [out] LONG* plToken
915         );
916 
917     HRESULT RegisterGroup(
918         [in] LPCWSTR pName,
919         [in] LONG cResource,
920         [in, size_is(cResource)]
921              LONG* palTokens,
922         [out] LONG* plToken
923         );
924 
925     HRESULT RequestResource(
926         [in] LONG idResource,
927         [in] IUnknown* pFocusObject,
928         [in] IResourceConsumer* pConsumer
929         );
930 
931     HRESULT NotifyAcquire(
932         [in] LONG idResource,
933         [in] IResourceConsumer* pConsumer,
934         [in] HRESULT hr);
935 
936     HRESULT NotifyRelease(
937         [in] LONG idResource,
938         [in] IResourceConsumer* pConsumer,
939         [in] BOOL bStillWant);
940 
941     HRESULT CancelRequest(
942         [in] LONG idResource,
943         [in] IResourceConsumer* pConsumer);
944 
945     HRESULT SetFocus(
946         [in] IUnknown* pFocusObject);
947 
948     HRESULT ReleaseFocus(
949         [in] IUnknown* pFocusObject);
950 
951 }
952 
953 cpp_quote("#ifndef _IKsPropertySet_")
954 cpp_quote("#define _IKsPropertySet_")
955 cpp_quote("#define KSPROPERTY_SUPPORT_GET  1")
956 cpp_quote("#define KSPROPERTY_SUPPORT_SET  2")
957 
958 [
959     object,
960     uuid(31efac30-515c-11d0-a9aa-00aa0061be93),
961     pointer_default(unique),
962     local
963 ]
964 interface IKsPropertySet : IUnknown
965 {
966     HRESULT Set( [in] REFGUID guidPropSet,
967                  [in] DWORD dwPropID,
968                  [in, size_is(cbInstanceData)] LPVOID pInstanceData,
969                  [in] DWORD cbInstanceData,
970                  [in, size_is(cbPropData)] LPVOID pPropData,
971                  [in] DWORD cbPropData );
972 
973     HRESULT Get( [in] REFGUID guidPropSet,
974                  [in] DWORD dwPropID,
975                  [in, size_is(cbInstanceData)] LPVOID pInstanceData,
976                  [in] DWORD cbInstanceData,
977                  [out, size_is(cbPropData)] LPVOID pPropData,
978                  [in] DWORD cbPropData,
979                  [out] DWORD *pcbReturned );
980 
981     HRESULT QuerySupported( [in] REFGUID guidPropSet,
982                             [in] DWORD dwPropID,
983                             [out] DWORD *pTypeSupport);
984 }
985 cpp_quote("#endif /* _IKsPropertySet_ */")
986 
987 [
988     object,
989     uuid(36b73883-c2c8-11cf-8b46-00805f6cef60),
990     pointer_default(unique)
991 ]
992 interface ISeekingPassThru : IUnknown
993 {
994     HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin);
995 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.