ReactOS 0.4.17-dev-970-gcf0f1a6
axextend.idl
Go to the documentation of this file.
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#if 0
20#pragma makedep install
21#endif
22
23#include <axextendenums.h>
24
25interface IAMAnalogVideoDecoder;
26interface IAMAnalogVideoEncoder;
27interface IAMAudioInputMixer;
28interface IAMAudioRendererStats;
29interface IAMBufferNegotiation;
30interface IAMCameraControl;
32interface IAMClockSlave;
34interface IAMCrossbar;
35interface IAMDevMemoryAllocator;
36interface IAMDevMemoryControl;
37interface IAMDroppedFrames;
38interface IAMExtDevice;
39interface IAMExtTransport;
40interface IAMGraphStreams;
41interface IAMLatency;
42interface IAMOpenProgress;
43interface IAMOverlayFX;
44interface IAMPhysicalPinInfo;
45interface IAMPushSource;
46interface IAMStreamConfig;
47interface IAMTimecodeDisplay;
48interface IAMTimecodeGenerator;
49interface IAMTimecodeReader;
50interface IAMTVTuner;
51interface IAMVfwCaptureDialogs;
52interface IAMVfwCompressDialogs;
53interface IAMVideoCompression;
54interface IAMVideoDecimationProperties;
55interface IAMVideoProcAmp;
57interface ICaptureGraphBuilder;
58interface ICaptureGraphBuilder2;
59interface IConfigAviMux;
60interface IConfigInterleaving;
61interface IDecimateVideoImage;
62interface IDrawVideoImage;
63interface IEnumRegFilters;
64interface IEnumStreamIdMap;
65interface IFileSourceFilter;
66interface IFileSinkFilter;
67interface IFileSinkFilter2;
68interface IFilterMapper;
69interface IFilterMapper2;
70interface IGraphBuilder;
71interface IKsPropertySet;
72interface IMediaEventSink;
73interface IMpeg2Demultiplexer;
74interface IMPEG2StreamIdMap;
75interface IOverlay;
76interface IOverlayNotify;
77interface IOverlayNotify2;
78interface IQualityControl;
79interface ISeekingPassThru;
80
81typedef struct
82{
85} REGFILTER;
86
87[
88object,
89uuid(56a868a4-0ad4-11ce-b03a-0020af0ba770),
91]
93{
95 ( [in] ULONG cFilters,
96 [out] REGFILTER ** apRegFilter,
97 [out] ULONG * pcFetched
98 );
99
101 [in] ULONG cFilters
102 );
103
105
107 [out] IEnumRegFilters **ppEnum
108 );
109}
110
111
112typedef IEnumRegFilters *PENUMREGFILTERS;
113
114[
115object,
116uuid(56a868a3-0ad4-11ce-b03a-0020af0ba770),
118]
119interface IFilterMapper : IUnknown
120{
121 enum { MERIT_PREFERRED = 0x800000,
122 MERIT_NORMAL = 0x600000,
123 MERIT_UNLIKELY = 0x400000,
125 MERIT_SW_COMPRESSOR = 0x100000,
126 MERIT_HW_COMPRESSOR = 0x100050
127 };
128
130 ( [in] CLSID clsid,
131 [in] LPCWSTR Name,
132 [in] DWORD dwMerit
133 );
134
136 ( [in] CLSID clsid,
137 [in] LPCWSTR Name,
138 [out] CLSID *MRId
139 );
140
141
143 ( [in] CLSID Filter,
144 [in] LPCWSTR Name,
145 [in] BOOL bRendered,
146 [in] BOOL bOutput,
147 [in] BOOL bZero,
148 [in] BOOL bMany,
149 [in] CLSID ConnectsToFilter,
150 [in] LPCWSTR ConnectsToPin
151 );
152
154 ( [in] CLSID clsFilter,
155 [in] LPCWSTR strName,
156 [in] CLSID clsMajorType,
157 [in] CLSID clsSubType
158 );
159
160
162 ( [in] CLSID Filter
163 );
164
165
167 ( [in] CLSID MRId
168 );
169
170
172 ( [in] CLSID Filter,
173 [in] LPCWSTR Name
174 );
175
177 ( [out] IEnumRegFilters **ppEnum,
178 [in] DWORD dwMerit,
179 [in] BOOL bInputNeeded,
180 [in] CLSID clsInMaj,
181 [in] CLSID clsInSub,
182 [in] BOOL bRender,
183 [in] BOOL bOutputNeeded,
184 [in] CLSID clsOutMaj,
185 [in] CLSID clsOutSub
186 );
187
188}
189
190typedef struct
191{
192 const CLSID * clsMajorType;
195
196typedef struct
197{
208
209typedef struct
210{
215
216enum
217{
223
224
225typedef struct
226{
230 [size_is(nMediaTypes)] const REGPINTYPES * lpMediaType;
232 [size_is(nMediums)] const REGPINMEDIUM *lpMedium;
235
236typedef struct
237{
240 [switch_is(dwVersion)] [switch_type(DWORD)] union
241 {
242 [case(1)]
243 struct
244 {
246 [size_is(cPins)] const REGFILTERPINS *rgPins;
247 };
248
249 [case(2)]
250 struct
251 {
253 [size_is(cPins2)] const REGFILTERPINS2 *rgPins2;
254 };
255
256 [default]
257 ;
258 };
259
260} REGFILTER2;
261
262
263[
264object,
265uuid(b79bb0b0-33c1-11d1-abe1-00a0c905f375),
267]
269{
271 ( [in] REFCLSID clsidCategory,
272 [in] DWORD dwCategoryMerit,
274 );
275
277 ( [in] const CLSID *pclsidCategory,
278 [in] LPCOLESTR szInstance,
280 );
281
283 ( [in] REFCLSID clsidFilter,
284 [in] LPCWSTR Name,
285 [in, out] IMoniker **ppMoniker,
286 [in] const CLSID *pclsidCategory,
287 [in] LPCOLESTR szInstance,
288 [in] const REGFILTER2 *prf2
289 );
290
292 ( [out] IEnumMoniker **ppEnum,
293 [in] DWORD dwFlags,
294 [in] BOOL bExactMatch,
295 [in] DWORD dwMerit,
296 [in] BOOL bInputNeeded,
297 [in] DWORD cInputTypes,
298 [size_is(cInputTypes*2)] const GUID *pInputTypes,
299 [in] const REGPINMEDIUM *pMedIn,
300 [in] const CLSID *pPinCategoryIn,
301 [in] BOOL bRender,
302 [in] BOOL bOutputNeeded,
303 [in] DWORD cOutputTypes,
304 [size_is(cOutputTypes*2)] const GUID *pOutputTypes,
305 [in] const REGPINMEDIUM *pMedOut,
306 [in] const CLSID *pPinCategoryOut
307 );
308}
309
310[
311object,
312uuid(b79bb0b1-33c1-11d1-abe1-00a0c905f375),
314]
315interface IFilterMapper3 : IFilterMapper2
316{
318}
319
320typedef enum tagQualityMessageType
321{
322 Famine,
323 Flood
325
326typedef struct tagQuality
327{
333
335
336[
337object,
338uuid(56a868a5-0ad4-11ce-b03a-0020af0ba770),
340]
342{
344 ( [in] IBaseFilter * pSelf,
345 [in] Quality q
346 );
347
349 ( [in] IQualityControl * piqc
350 );
351}
352
353enum
354{
356 CK_INDEX = 0x1,
357 CK_RGB = 0x2
359
360typedef struct tagCOLORKEY
361{
367
368enum
369{
377
382
385
386cpp_quote("#ifndef _WINGDI_")
387
388/* already defined in wingdi.h, but needed for WIDL */
389
391{
398
399typedef struct _RGNDATA
400{
402 char Buffer[1];
404
405cpp_quote("#endif /* _WINGDI_ */")
406
407[
408object,
409local,
410uuid(56a868a0-0ad4-11ce-b03a-0020af0ba770),
412]
414{
416 [in] DWORD dwColors,
417 [in] const PALETTEENTRY *pPalette);
418
420 [in] const RECT *pSourceRect,
421 [in] const RECT *pDestinationRect,
422 [in] const RGNDATA *pRgnData);
423
424 HRESULT OnColorKeyChange([in] const COLORKEY *pColorKey);
425
426 HRESULT OnPositionChange([in] const RECT *pSourceRect,
427 [in] const RECT *pDestinationRect);
428}
429
430typedef IOverlayNotify *POVERLAYNOTIFY;
431
432cpp_quote("#if 0")
434cpp_quote("#endif /* 0 */")
435
436[
437object,
438local,
439uuid(680EFA10-D535-11D1-87C8-00A0C9223196),
440pointer_default(unique)
441]
442interface IOverlayNotify2 : IOverlayNotify
443{
444 HRESULT OnDisplayChange(
445 HMONITOR hMonitor);
446}
447
448typedef IOverlayNotify2 *POVERLAYNOTIFY2;
449
450[
451object,
452local,
453uuid(56a868a1-0ad4-11ce-b03a-0020af0ba770),
454pointer_default(unique)
455]
456interface IOverlay : IUnknown
457{
458 HRESULT GetPalette(
459 [out] DWORD *pdwColors,
460 [out] PALETTEENTRY **ppPalette);
461
462 HRESULT SetPalette(
463 [in] DWORD dwColors,
464 [in] PALETTEENTRY *pPalette);
465
466 HRESULT GetDefaultColorKey([out] COLORKEY *pColorKey);
467
468 HRESULT GetColorKey([out] COLORKEY *pColorKey);
469
470 HRESULT SetColorKey([in,out] COLORKEY *pColorKey);
471
472 HRESULT GetWindowHandle([out] HWND *pHwnd);
473
474 HRESULT GetClipList([out] RECT *pSourceRect,
475 [out] RECT *pDestinationRect,
476 [out] RGNDATA **ppRgnData);
477
478 HRESULT GetVideoPosition([out] RECT *pSourceRect,
479 [out] RECT *pDestinationRect);
480
481 HRESULT Advise(
482 [in] IOverlayNotify *pOverlayNotify,
483 [in] DWORD dwInterests);
484
485 HRESULT Unadvise();
486}
487
488typedef IOverlay *POVERLAY;
489
490[
491object,
492uuid(56a868a2-0ad4-11ce-b03a-0020af0ba770),
493pointer_default(unique)
494]
495interface IMediaEventSink : IUnknown
496{
497 HRESULT Notify(
498 [in] LONG EventCode,
499 [in] LONG_PTR EventParam1,
500 [in] LONG_PTR EventParam2
501 );
502}
503
504typedef IMediaEventSink *PMEDIAEVENTSINK;
505
506[
507object,
508uuid(56a868a6-0ad4-11ce-b03a-0020af0ba770),
509pointer_default(unique)
510]
511interface IFileSourceFilter : IUnknown
512{
513 HRESULT Load(
514 [in] LPCOLESTR pszFileName,
515 [in, unique] const AM_MEDIA_TYPE *pmt
516 );
517
518 HRESULT GetCurFile(
519 [out] LPOLESTR *ppszFileName,
520 [out] AM_MEDIA_TYPE *pmt
521 );
522}
523
524typedef IFileSourceFilter *PFILTERFILESOURCE;
525
526[
527object,
528uuid(a2104830-7c70-11cf-8bce-00aa00a3f1a6),
529pointer_default(unique)
530]
531interface IFileSinkFilter : IUnknown
532{
533 HRESULT SetFileName(
534 [in] LPCOLESTR pszFileName,
535 [in, unique] const AM_MEDIA_TYPE *pmt
536 );
537
538 HRESULT GetCurFile(
539 [out] LPOLESTR *ppszFileName,
540 [out] AM_MEDIA_TYPE *pmt
541 );
542}
543
544typedef IFileSinkFilter *PFILTERFILESINK;
545
546[
547 object,
548 uuid(00855B90-CE1B-11d0-BD4F-00A0C911CE86),
549 pointer_default(unique)
550]
551interface IFileSinkFilter2 : IFileSinkFilter
552{
553 HRESULT SetMode(
554 [in] DWORD dwFlags
555 );
556
557 HRESULT GetMode(
558 [out] DWORD *pdwFlags
559 );
560}
561
562typedef IFileSinkFilter2 *PFILESINKFILTER2;
563
564typedef enum
565{
566 AM_FILE_OVERWRITE = 0x00000001,
567} AM_FILESINK_FLAGS;
568
569[
570object,
571uuid(56a868a9-0ad4-11ce-b03a-0020af0ba770),
572pointer_default(unique)
573]
574interface IGraphBuilder : IFilterGraph
575{
576 HRESULT Connect
577 ( [in] IPin * ppinOut,
578 [in] IPin * ppinIn
579 );
580
581 HRESULT Render
582 ( [in] IPin * ppinOut
583 );
584
585 HRESULT RenderFile
586 ( [in] LPCWSTR lpcwstrFile,
587 [in, unique] LPCWSTR lpcwstrPlayList
588 );
589
590 HRESULT AddSourceFilter
591 ( [in] LPCWSTR lpcwstrFileName,
592 [in, unique] LPCWSTR lpcwstrFilterName,
593 [out] IBaseFilter* *ppFilter
594 );
595
596 HRESULT SetLogFile
597 ( [in] DWORD_PTR hFile
598 );
599
600 HRESULT Abort();
601
602 HRESULT ShouldOperationContinue();
603}
604
605
606[
607 object,
608 uuid(bf87b6e0-8c27-11d0-b3f0-00aa003761c5),
609 pointer_default(unique)
610]
611interface ICaptureGraphBuilder : IUnknown {
612
613 HRESULT SetFiltergraph(
614 [in] IGraphBuilder *pfg);
615
616 HRESULT GetFiltergraph(
617 [out] IGraphBuilder **ppfg);
618
619 HRESULT SetOutputFileName(
620 [in] const GUID *pType,
621 [in] LPCOLESTR lpstrFile,
622 [out] IBaseFilter **ppf,
623 [out] IFileSinkFilter **ppSink);
624
625 [local] HRESULT FindInterface(
626 [in, unique] const GUID *pCategory,
627 [in] IBaseFilter *pf,
628 [in] REFIID riid,
629 [out] void **ppint);
630
631 [call_as(FindInterface)] HRESULT RemoteFindInterface(
632 [in, unique] const GUID *pCategory,
633 [in] IBaseFilter *pf,
634 [in] REFIID riid,
635 [out] IUnknown **ppint);
636
637 HRESULT RenderStream(
638 [in] const GUID *pCategory,
639 [in] IUnknown *pSource,
640 [in] IBaseFilter *pfCompressor,
641 [in] IBaseFilter *pfRenderer);
642
643 HRESULT ControlStream(
644 [in] const GUID *pCategory,
645 [in] IBaseFilter *pFilter,
646 [in] REFERENCE_TIME *pstart,
647 [in] REFERENCE_TIME *pstop,
648 [in] WORD wStartCookie,
649 [in] WORD wStopCookie);
650
651 HRESULT AllocCapFile(
652 [in] LPCOLESTR lpstr,
653 [in] DWORDLONG dwlSize);
654
655 HRESULT CopyCaptureFile(
656 [in] LPOLESTR lpwstrOld,
657 [in] LPOLESTR lpwstrNew,
658 [in] int fAllowEscAbort,
659 [in] IAMCopyCaptureFileProgress *pCallback);
660}
661
662[
663object,
664uuid(670d1d20-a068-11d0-b3f0-00aa003761c5),
665pointer_default(unique)
666]
667interface IAMCopyCaptureFileProgress : IUnknown
668{
669 HRESULT Progress(
670 [in] int iProgress);
671}
672
673[
674 object,
675 uuid(93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D),
676 pointer_default(unique)
677]
678interface ICaptureGraphBuilder2 : IUnknown
679{
680 HRESULT SetFiltergraph(
681 [in] IGraphBuilder *pfg);
682
683 HRESULT GetFiltergraph(
684 [out] IGraphBuilder **ppfg);
685
686 HRESULT SetOutputFileName(
687 [in] const GUID *pType,
688 [in] LPCOLESTR lpstrFile,
689 [out] IBaseFilter **ppf,
690 [out] IFileSinkFilter **ppSink);
691
692 [local] HRESULT FindInterface(
693 [in] const GUID *pCategory,
694 [in] const GUID *pType,
695 [in] IBaseFilter *pf,
696 [in] REFIID riid,
697 [out] void **ppint);
698
699 [call_as(FindInterface)] HRESULT RemoteFindInterface(
700 [in] const GUID *pCategory,
701 [in] const GUID *pType,
702 [in] IBaseFilter *pf,
703 [in] REFIID riid,
704 [out] IUnknown **ppint);
705
706 HRESULT RenderStream(
707 [in] const GUID *pCategory,
708 [in] const GUID *pType,
709 [in] IUnknown *pSource,
710 [in] IBaseFilter *pfCompressor,
711 [in] IBaseFilter *pfRenderer);
712
713 HRESULT ControlStream(
714 [in] const GUID *pCategory,
715 [in] const GUID *pType,
716 [in] IBaseFilter *pFilter,
717 [in] REFERENCE_TIME *pstart,
718 [in] REFERENCE_TIME *pstop,
719 [in] WORD wStartCookie,
720 [in] WORD wStopCookie);
721
722 HRESULT AllocCapFile(
723 [in] LPCOLESTR lpstr,
724 [in] DWORDLONG dwlSize);
725
726 HRESULT CopyCaptureFile(
727 [in] LPOLESTR lpwstrOld,
728 [in] LPOLESTR lpwstrNew,
729 [in] int fAllowEscAbort,
730 [in] IAMCopyCaptureFileProgress *pCallback);
731
732 HRESULT FindPin(
733 [in] IUnknown *pSource,
734 [in] PIN_DIRECTION pindir,
735 [in] const GUID *pCategory,
736 [in] const GUID *pType,
737 [in] BOOL fUnconnected,
738 [in] int num,
739 [out] IPin **ppPin);
740}
741
742[
743 local,
744 object,
745 uuid(5acd6aa0-f482-11ce-8b67-00aa00a3f1a6),
746 pointer_default(unique)
747]
748interface IConfigAviMux : IUnknown
749{
750 HRESULT SetMasterStream(
751 [in] LONG iStream);
752
753 HRESULT GetMasterStream(
754 [out] LONG *pStream);
755
756 HRESULT SetOutputCompatibilityIndex(
757 [in] BOOL fOldIndex);
758
759 HRESULT GetOutputCompatibilityIndex(
760 [out] BOOL *pfOldIndex);
761}
762
763[
764 local,
765 object,
766 uuid(bee3d220-157b-11d0-bd23-00a0c911ce86),
767 pointer_default(unique)
768]
769interface IConfigInterleaving : IUnknown
770{
771 typedef enum InterleavingMode {
772 INTERLEAVE_NONE,
773 INTERLEAVE_CAPTURE,
774 INTERLEAVE_FULL,
775 INTERLEAVE_NONE_BUFFERED
776 } InterleavingMode;
777
778 HRESULT put_Mode(
779 [in] InterleavingMode mode);
780
781 HRESULT get_Mode(
782 [out] InterleavingMode *pMode);
783
784 HRESULT put_Interleaving(
785 [in] const REFERENCE_TIME *prtInterleave,
786 [in] const REFERENCE_TIME *prtPreroll);
787
788 HRESULT get_Interleaving(
789 [out] REFERENCE_TIME *prtInterleave,
790 [out] REFERENCE_TIME *prtPreroll);
791}
792
793[
794 local,
795 object,
796 uuid(9fd52741-176d-4b36-8f51-ca8f933223be),
797 pointer_default(unique)
798]
799interface IAMClockSlave : IUnknown
800{
801 HRESULT SetErrorTolerance(
802 [in] DWORD dwTolerance);
803
804 HRESULT GetErrorTolerance(
805 [out] DWORD *pdwTolerance);
806}
807
808typedef struct _AMCOPPSignature {
809 BYTE Signature[256];
810} AMCOPPSignature;
811
812typedef struct _AMCOPPCommand {
813 GUID macKDI;
814 GUID guidCommandID;
815 DWORD dwSequence;
816 DWORD bSizeData;
817 BYTE CommandData[4056];
818} AMCOPPCommand, *LPAMCOPPCommand;
819
820typedef struct _AMCOPPStatusInput {
821 GUID rApp;
822 GUID guidStatusRequestID;
823 DWORD dwSequence;
824 DWORD cbSizeData;
825 BYTE StatusData[4056];
826} AMCOPPStatusInput, *LPAMCOPPStatusInput;
827
828typedef struct _AMCOPPStatusOutput {
829 GUID macKDI;
830 DWORD cbSizeData;
831 BYTE COPPStatus[4076];
832} AMCOPPStatusOutput, *LPAMCOPPStatusOutput;
833
834[
835 local,
836 object,
837 uuid(6feded3e-0ff1-4901-a2f1-43f7012c8515),
838 pointer_default(unique)
839]
840interface IAMCertifiedOutputProtection : IUnknown
841{
842 HRESULT KeyExchange (
843 [out] GUID* pRandom,
844 [out] BYTE** VarLenCertGH,
845 [out] DWORD* pdwLengthCertGH);
846
847 HRESULT SessionSequenceStart(
848 [in] AMCOPPSignature* pSig);
849
850 HRESULT ProtectionCommand(
851 [in] const AMCOPPCommand* cmd);
852
853 HRESULT ProtectionStatus(
854 [in] const AMCOPPStatusInput* pStatusInput,
855 [out] AMCOPPStatusOutput* pStatusOutput);
856}
857
858enum _AM_RENSDEREXFLAGS
859{
860 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x01
862
863[
864 object,
865 uuid(36b73882-c2c8-11cf-8b46-00805f6cef60),
866 pointer_default(unique)
867]
868interface IFilterGraph2: IGraphBuilder
869{
870 HRESULT AddSourceFilterForMoniker(
871 [in] IMoniker *pMoniker,
872 [in] IBindCtx *pCtx,
873 [in, unique] LPCWSTR lpcwstrFilterName,
874 [out] IBaseFilter **ppFilter
875 );
876
877 HRESULT ReconnectEx
878 ( [in] IPin * ppin,
879 [in, unique] const AM_MEDIA_TYPE *pmt
880 );
881
882 HRESULT RenderEx( [in] IPin *pPinOut,
883 [in] DWORD dwFlags,
884 [in, out] DWORD *pvContext
885 );
886}
887
888[
889 object,
890 local,
891 uuid(56a868bf-0ad4-11ce-b03a-0020af0ba770),
892 pointer_default(unique)
893]
894interface IStreamBuilder : IUnknown
895{
896 HRESULT Render
897 ( [in] IPin * ppinOut,
898 [in] IGraphBuilder * pGraph
899 );
900
901 HRESULT Backout
902 ( [in] IPin * ppinOut,
903 [in] IGraphBuilder * pGraph
904 );
905}
906
907
908/*****************************************************************************
909 * IAMStreamConfig interface
910 */
911[
912 object,
913 uuid(c6e13340-30ac-11d0-a18c-00a0c9118956),
914 pointer_default(unique)
915]
916interface IAMStreamConfig : IUnknown
917{
918 typedef struct _VIDEO_STREAM_CONFIG_CAPS {
919 GUID guid;
920 ULONG VideoStandard;
921 SIZE InputSize;
922 SIZE MinCroppingSize;
923 SIZE MaxCroppingSize;
924 int CropGranularityX;
925 int CropGranularityY;
926 int CropAlignX;
927 int CropAlignY;
928 SIZE MinOutputSize;
929 SIZE MaxOutputSize;
930 int OutputGranularityX;
931 int OutputGranularityY;
932 int StretchTapsX;
933 int StretchTapsY;
934 int ShrinkTapsX;
935 int ShrinkTapsY;
936 LONGLONG MinFrameInterval;
937 LONGLONG MaxFrameInterval;
938 LONG MinBitsPerSecond;
939 LONG MaxBitsPerSecond;
940 } VIDEO_STREAM_CONFIG_CAPS;
941
942 typedef struct _AUDIO_STREAM_CONFIG_CAPS {
943 GUID guid;
944 ULONG MinimumChannels;
945 ULONG MaximumChannels;
946 ULONG ChannelsGranularity;
947 ULONG MinimumBitsPerSample;
948 ULONG MaximumBitsPerSample;
949 ULONG BitsPerSampleGranularity;
950 ULONG MinimumSampleFrequency;
951 ULONG MaximumSampleFrequency;
952 ULONG SampleFrequencyGranularity;
953 } AUDIO_STREAM_CONFIG_CAPS;
954
955 HRESULT SetFormat( [in] AM_MEDIA_TYPE *pmt);
956 HRESULT GetFormat( [in] AM_MEDIA_TYPE **pmt);
957 HRESULT GetNumberOfCapabilities( [out] int *piCount, [out] int *piSize);
958 HRESULT GetStreamCaps( [in] int iIndex, [out] AM_MEDIA_TYPE **pmt,
959 [out] BYTE *pSCC);
960}
961
962
963typedef enum tagVideoProcAmpProperty
964{
965 VideoProcAmp_Brightness,
966 VideoProcAmp_Contrast,
967 VideoProcAmp_Hue,
968 VideoProcAmp_Saturation,
969 VideoProcAmp_Sharpness,
970 VideoProcAmp_Gamma,
971 VideoProcAmp_ColorEnable,
972 VideoProcAmp_WhiteBalance,
973 VideoProcAmp_BacklightCompensation,
974 VideoProcAmp_Gain
975} VideoProcAmpProperty;
976
977typedef enum tagVideoProcAmpFlags
978{
979 VideoProcAmp_Flags_Auto = 0x0001,
980 VideoProcAmp_Flags_Manual = 0x0002,
981} VideoProcAmpFlags;
982
983/*****************************************************************************
984 * IAMVideoProcAmp interface
985 */
986[
987 object,
988 uuid(c6e13360-30ac-11d0-a18c-00a0c9118956),
989 pointer_default(unique)
990]
991interface IAMVideoProcAmp : IUnknown
992{
993 HRESULT GetRange( [in] LONG Property, [out] LONG *pMin, [out] LONG *pMax,
994 [out] LONG *pSteppingDelta, [out] LONG *pDefault,
995 [out] LONG *pCapsFlags);
996 HRESULT Set( [in] LONG Property, [in] LONG lValue, [in] LONG Flags);
997 HRESULT Get( [in] LONG Property, [out] LONG *lValue, [out] LONG *Flags);
998}
999
1000
1001[
1002 object,
1003 uuid(56a868aa-0ad4-11ce-b03a-0020af0ba770),
1004 pointer_default(unique)
1005]
1006interface IAsyncReader : IUnknown
1007{
1008 HRESULT RequestAllocator(
1009 [in] IMemAllocator* pPreferred,
1010 [in] ALLOCATOR_PROPERTIES* pProps,
1011 [out] IMemAllocator ** ppActual);
1012
1013 HRESULT Request(
1014 [in] IMediaSample* pSample,
1015 [in] DWORD_PTR dwUser);
1016
1017 HRESULT WaitForNext(
1018 [in] DWORD dwTimeout,
1019 [out] IMediaSample** ppSample,
1020 [out] DWORD_PTR * pdwUser);
1021
1022 HRESULT SyncReadAligned(
1023 [in] IMediaSample* pSample);
1024
1025 HRESULT SyncRead(
1026 [in] LONGLONG llPosition,
1027 [in] LONG lLength,
1028 [out, size_is(lLength)]
1029 BYTE* pBuffer);
1030
1031 HRESULT Length(
1032 [out] LONGLONG* pTotal,
1033 [out] LONGLONG* pAvailable);
1034
1035 HRESULT BeginFlush(void);
1036
1037 HRESULT EndFlush(void);
1038}
1039
1040
1041[
1042 object,
1043 uuid(56a868ab-0ad4-11ce-b03a-0020af0ba770),
1044 pointer_default(unique)
1045]
1046interface IGraphVersion : IUnknown
1047{
1048 HRESULT QueryVersion(LONG* pVersion);
1049}
1050
1051[
1052 object,
1053 uuid(56a868ad-0ad4-11ce-b03a-0020af0ba770),
1054 pointer_default(unique)
1055]
1056interface IResourceConsumer : IUnknown
1057{
1058 HRESULT AcquireResource(
1059 [in] LONG idResource);
1060
1061 HRESULT ReleaseResource(
1062 [in] LONG idResource);
1063}
1064
1065
1066[
1067 object,
1068 uuid(56a868ac-0ad4-11ce-b03a-0020af0ba770),
1069 pointer_default(unique)
1070]
1071interface IResourceManager : IUnknown
1072{
1073 HRESULT Register(
1074 [in] LPCWSTR pName,
1075 [in] LONG cResource,
1076 [out] LONG* plToken
1077 );
1078
1079 HRESULT RegisterGroup(
1080 [in] LPCWSTR pName,
1081 [in] LONG cResource,
1082 [in, size_is(cResource)]
1083 LONG* palTokens,
1084 [out] LONG* plToken
1085 );
1086
1087 HRESULT RequestResource(
1088 [in] LONG idResource,
1089 [in] IUnknown* pFocusObject,
1090 [in] IResourceConsumer* pConsumer
1091 );
1092
1093 HRESULT NotifyAcquire(
1094 [in] LONG idResource,
1095 [in] IResourceConsumer* pConsumer,
1096 [in] HRESULT hr);
1097
1098 HRESULT NotifyRelease(
1099 [in] LONG idResource,
1100 [in] IResourceConsumer* pConsumer,
1101 [in] BOOL bStillWant);
1102
1103 HRESULT CancelRequest(
1104 [in] LONG idResource,
1105 [in] IResourceConsumer* pConsumer);
1106
1107 HRESULT SetFocus(
1108 [in] IUnknown* pFocusObject);
1109
1110 HRESULT ReleaseFocus(
1111 [in] IUnknown* pFocusObject);
1112
1113}
1114
1115typedef enum AM_STREAM_INFO_FLAGS
1116{
1117 AM_STREAM_INFO_START_DEFINED = 0x01,
1118 AM_STREAM_INFO_STOP_DEFINED = 0x02,
1119 AM_STREAM_INFO_DISCARDING = 0x04,
1120 AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
1121} AM_STREAM_INFO_FLAGS;
1122
1123typedef struct AM_STREAM_INFO
1124{
1125 REFERENCE_TIME tStart;
1126 REFERENCE_TIME tStop;
1127 DWORD dwStartCookie;
1128 DWORD dwStopCookie;
1129 DWORD dwFlags;
1130} AM_STREAM_INFO;
1131
1132[
1133 local,
1134 object,
1135 uuid(36b73881-c2c8-11cf-8b46-00805f6cef60),
1136 pointer_default(unique)
1137]
1138interface IAMStreamControl : IUnknown
1139{
1140 HRESULT StartAt(
1141 [in] const REFERENCE_TIME *ptStart,
1142 [in] DWORD dwCookie);
1143
1144 HRESULT StopAt(
1145 [in] const REFERENCE_TIME *ptStop,
1146 [in] BOOL bSendExtra,
1147 [in] DWORD dwCookie);
1148
1149 HRESULT GetInfo(
1150 [out] AM_STREAM_INFO *pInfo);
1151}
1152
1153cpp_quote("#ifndef _IKsPropertySet_")
1154cpp_quote("#define _IKsPropertySet_")
1155cpp_quote("#define KSPROPERTY_SUPPORT_GET 1")
1156cpp_quote("#define KSPROPERTY_SUPPORT_SET 2")
1157
1158typedef enum AMPROPERTY_PIN
1159{
1160 AMPROPERTY_PIN_CATEGORY,
1161 AMPROPERTY_PIN_MEDIUM,
1162} AMPROPERTY_PIN;
1163
1164[
1165 object,
1166 uuid(31efac30-515c-11d0-a9aa-00aa0061be93),
1167 pointer_default(unique),
1168 local
1169]
1170interface IKsPropertySet : IUnknown
1171{
1172 HRESULT Set( [in] REFGUID guidPropSet,
1173 [in] DWORD dwPropID,
1174 [in, size_is(cbInstanceData)] LPVOID pInstanceData,
1175 [in] DWORD cbInstanceData,
1176 [in, size_is(cbPropData)] LPVOID pPropData,
1177 [in] DWORD cbPropData );
1178
1179 HRESULT Get( [in] REFGUID guidPropSet,
1180 [in] DWORD dwPropID,
1181 [in, size_is(cbInstanceData)] LPVOID pInstanceData,
1182 [in] DWORD cbInstanceData,
1183 [out, size_is(cbPropData)] LPVOID pPropData,
1184 [in] DWORD cbPropData,
1185 [out] DWORD *pcbReturned );
1186
1187 HRESULT QuerySupported( [in] REFGUID guidPropSet,
1188 [in] DWORD dwPropID,
1189 [out] DWORD *pTypeSupport);
1190}
1191cpp_quote("#endif /* _IKsPropertySet_ */")
1192
1193[
1194 local,
1195 object,
1196 uuid(6025a880-c0d5-11d0-bd4e-00a0c911ce86),
1197 pointer_default(unique)
1198]
1199interface IMediaPropertyBag : IPropertyBag
1200{
1201 typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
1202
1203 HRESULT EnumProperty(
1204 [in] ULONG iProperty,
1205 [in, out] VARIANT *pvarPropertyName,
1206 [in, out] VARIANT *pvarPropertyValue);
1207}
1208
1209
1210[
1211 local,
1212 object,
1213 uuid(5738e040-b67f-11d0-bd4d-00a0c911ce86),
1214 pointer_default(unique)
1215]
1216interface IPersistMediaPropertyBag : IPersist
1217{
1218 HRESULT InitNew(void);
1219
1220 HRESULT Load(
1221 [in] IMediaPropertyBag *pPropBag,
1222 [in] IErrorLog *pErrorLog);
1223
1224 HRESULT Save(
1225 [in] IMediaPropertyBag *pPropBag,
1226 [in] BOOL fClearDirty,
1227 [in] BOOL fSaveAllProperties);
1228
1229 typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
1230}
1231
1232[
1233 object,
1234 uuid(36b73883-c2c8-11cf-8b46-00805f6cef60),
1235 pointer_default(unique)
1236]
1237interface ISeekingPassThru : IUnknown
1238{
1239 HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin);
1240}
1241
1242enum _AM_FILTER_MISC_FLAGS
1243{
1244 AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
1245 AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
1247
1248[
1249 local,
1250 object,
1251 uuid(2dd74950-a890-11d1-abe8-00a0c905f375),
1252 pointer_default(unique)
1253]
1254interface IAMFilterMiscFlags : IUnknown
1255{
1256 ULONG GetMiscFlags();
1257}
1258
1259[
1260 local,
1261 object,
1262 uuid(4995f511-9ddb-4f12-bd3b-f04611807b79),
1263 pointer_default(unique)
1264]
1265interface IAMGraphBuilderCallback : IUnknown
1266{
1267 HRESULT SelectedFilter(
1268 [in] IMoniker *pMon);
1269
1270 HRESULT CreatedFilter(
1271 [in] IBaseFilter *pFil);
1272}
1273
1274[
1275 local,
1276 object,
1277 uuid(d8d715a0-6e5e-11d0-b3f0-00aa003761c5),
1278 pointer_default(unique)
1279]
1280interface IAMVfwCaptureDialogs : IUnknown
1281{
1282 HRESULT HasDialog(
1283 [in] int dialog);
1284 HRESULT ShowDialog(
1285 [in] int dialog,
1286 [in] HWND hwnd);
1287 HRESULT SendDriverMessage(
1288 [in] int dialog,
1289 [in] int msg,
1290 [in] long data1,
1291 [in] long data2);
1292}
1293
1294[
1295 local,
1296 object,
1297 uuid(c6e13370-30ac-11d0-a18c-00a0c9118956),
1298 pointer_default(unique)
1299]
1300interface IAMCameraControl : IUnknown
1301{
1302 HRESULT GetRange([in] long property, [out] long *min, [out] long *max,
1303 [out] long *stepping_delta, [out] long *default_value, [out] long *flags);
1304 HRESULT Set([in] long property, [in] long property_value, [in] long flags);
1305 HRESULT Get([in] long property, [out] long *property_value, [out] long *flags);
1306}
1307
1308[
1309 local,
1310 object,
1311 uuid(6a2e0670-28e4-11d0-a18c-00a0c9118956),
1312 pointer_default(unique)
1313]
1314interface IAMVideoControl : IUnknown
1315{
1316 HRESULT GetCaps([in] IPin *pin, [out] long *flags);
1317 HRESULT SetMode([in] IPin *pin, long mode);
1318 HRESULT GetMode([in] IPin *pin, [out] long *mode);
1319 HRESULT GetCurrentActualFrameRate([in] IPin *pin, [out] LONGLONG *frame_rate);
1320 HRESULT GetMaxAvailableFrameRate([in] IPin *pin, [in] long index,
1321 [in] SIZE dimensions, [out] LONGLONG *frame_rate);
1322 HRESULT GetFrameRateList([in] IPin *pin, [in] long index, [in] SIZE dimensions,
1323 [out] long *list_size, [out] LONGLONG **frame_rate);
1324}
1325
1326[
1327 local,
1328 object,
1329 uuid(56ed71a0-af5f-11d0-b3f0-00aa003761c5),
1330 pointer_default(unique)
1331]
1332interface IAMBufferNegotiation : IUnknown
1333{
1334 HRESULT SuggestAllocatorProperties([in] const ALLOCATOR_PROPERTIES *prop);
1335 HRESULT GetAllocatorProperties([out] ALLOCATOR_PROPERTIES *prop);
1336}
1337
1338[
1339 local,
1340 object,
1341 uuid(c6e13344-30ac-11d0-a18c-00a0c9118956),
1342 pointer_default(unique)
1343]
1344interface IAMDroppedFrames : IUnknown
1345{
1346 HRESULT GetNumDropped([out] long *number);
1347 HRESULT GetNumNotDropped([out] long *number);
1348 HRESULT GetDroppedInfo([in] long size, [out] long *array, [out] long *copied);
1349 HRESULT GetAverageFrameSize([out] long *size);
1350}
1351
1352[
1353 local,
1354 object,
1355 uuid(62ea93ba-ec62-11d2-b770-00c04fb6bd3d),
1356 pointer_default(unique)
1357]
1358interface IAMLatency : IUnknown
1359{
1360 HRESULT GetLatency([in, out] REFERENCE_TIME *latency);
1361}
1362
1363[
1364 local,
1365 object,
1366 uuid(f185fe76-e64e-11d2-b76e-00c04fb6bd3d),
1367 pointer_default(unique)
1368]
1369interface IAMPushSource : IAMLatency
1370{
1371 HRESULT GetPushSourceFlags([out] ULONG *flags);
1372 HRESULT SetPushSourceFlags([in] ULONG flags);
1373 HRESULT SetStreamOffset([in] REFERENCE_TIME offset);
1374 HRESULT GetStreamOffset([out] REFERENCE_TIME *offset);
1375 HRESULT GetMaxStreamOffset([out] REFERENCE_TIME *offset);
1376 HRESULT SetMaxStreamOffset([in] REFERENCE_TIME offset);
1377};
1378
1379[
1380 local,
1381 object,
1382 uuid(c6e13343-30ac-11d0-a18c-00a0c9118956),
1383 pointer_default(unique)
1384]
1385interface IAMVideoCompression : IUnknown
1386{
1387 HRESULT put_KeyFrameRate([in] long frame_rate);
1388 HRESULT get_KeyFrameRate([out] long *frame_rate);
1389 HRESULT put_PFramesPerKeyFrame([in] long frame);
1390 HRESULT get_PFramesPerKeyFrame([out] long *frame);
1391 HRESULT put_Quality([in] double quality);
1392 HRESULT get_Quality([out] double *quality);
1393 HRESULT put_WindowSize([in] DWORDLONG size);
1394 HRESULT get_WindowSize([out] DWORDLONG *size);
1395 HRESULT GetInfo([out, size_is(*version_size)] LPWSTR version, [in, out] int *version_size,
1396 [out, size_is(*description_size)] LPWSTR description, [in, out] int *description_size,
1397 [out] long *frame_rate, [out] long *key, [out] double *quality, [out] long *capabilities);
1398 HRESULT OverrideKeyFrame([in] long number);
1399 HRESULT OverrideFrameSize([in] long number, [in] long size);
1400}
1401
1402[
1403 local,
1404 object,
1405 uuid(c6e13380-30ac-11d0-a18c-00a0c9118956),
1406 pointer_default(unique)
1407]
1408interface IAMCrossbar : IUnknown
1409{
1410 HRESULT get_PinCounts([out] long *output, [out] long *intput);
1411 HRESULT CanRoute([in] long output, [in] long input);
1412 HRESULT Route([in] long output, [in] long input);
1413 HRESULT get_IsRoutedTo([in] long output, [out] long *input);
1414 HRESULT get_CrossbarPinInfo([in] BOOL is_input, [in] long index,
1415 [out] long *related, [out] long *type);
1416}
1417
1418typedef enum tagAMTunerEventType
1419{
1420 AMTUNER_EVENT_CHANGED = 0x0001,
1421} AMTunerEventType;
1422
1423[
1424 local,
1425 object,
1426 uuid(211a8760-03ac-11d1-8d13-00aa00bd8339),
1427 pointer_default(unique)
1428]
1429interface IAMTunerNotification : IUnknown
1430{
1431 HRESULT OnEvent([in] AMTunerEventType event);
1432}
1433
1434typedef enum tagAMTunerModeType
1435{
1436 AMTUNER_MODE_DEFAULT = 0x0000,
1437 AMTUNER_MODE_TV = 0x0001,
1438 AMTUNER_MODE_FM_RADIO = 0x0002,
1439 AMTUNER_MODE_AM_RADIO = 0x0004,
1440 AMTUNER_MODE_DSS = 0x0008,
1441} AMTunerModeType;
1442
1443[
1444 local,
1445 object,
1446 uuid(211a8761-03ac-11d1-8d13-00aa00bd8339),
1447 pointer_default(unique)
1448]
1449interface IAMTuner : IUnknown
1450{
1451 HRESULT put_Channel([in] long channel, [in] long video, [in] long audio);
1452 HRESULT get_Channel([out] long *channel, [out] long *video, [out] long *audio);
1453 HRESULT ChannelMinMax([out] long *min, [out] long *max);
1454 HRESULT put_CountryCode([in] long country);
1455 HRESULT get_CountryCode([out] long *country);
1456 HRESULT put_TuningSpace([in] long tuning_space);
1457 HRESULT get_TuningSpace([out] long *tuning_space);
1458 [local] HRESULT Logon([in] HANDLE user);
1459 HRESULT Logout();
1460 HRESULT SignalPresent([out] long *signal_strength);
1461 HRESULT put_Mode([in] AMTunerModeType mode);
1462 HRESULT get_Mode([out] AMTunerModeType *mode);
1463 HRESULT GetAvailableModes([out] long *modes);
1464 HRESULT RegisterNotificationCallBack([in] IAMTunerNotification *notify, [in] long events);
1465 HRESULT UnRegisterNotificationCallBack([in] IAMTunerNotification *notify);
1466}
1467
1468[
1469 local,
1470 object,
1471 uuid(211a8766-03ac-11d1-8d13-00aa00bd8339),
1472 pointer_default(unique)
1473]
1474interface IAMTVTuner : IAMTuner
1475{
1476 HRESULT get_AvailableTVFormats([out] long *standard);
1477 HRESULT get_TVFormat([out] long *standard);
1478 HRESULT AutoTune([in] long channel, [out] long *signal);
1479 HRESULT StoreAutoTune();
1480 HRESULT get_NumInputConnections([out] long *number);
1481 HRESULT put_InputType([in] long index, [in] TunerInputType type);
1482 HRESULT get_InputType([in] long index, [out] TunerInputType *type);
1483 HRESULT put_ConnectInput([in] long index);
1484 HRESULT get_ConnectInput([out] long *index);
1485 HRESULT get_VideoFrequency([out] long *freq);
1486 HRESULT get_AudioFrequency([out] long *freq);
1487}
1488
1489[
1490 local,
1491 object,
1492 uuid(e46a9787-2b71-444d-a4b5-1fab7b708d6a),
1493 pointer_default(unique),
1494]
1495interface IVideoFrameStep : IUnknown
1496{
1497 HRESULT Step(DWORD frame_count, [in] IUnknown *filter);
1498 HRESULT CanStep(long multiple, [in] IUnknown *filter);
1499 HRESULT CancelStep();
1500}
1501
1502#ifdef __REACTOS__
1503typedef enum tagTVAudioMode
1504{
1505 AMTVAUDIO_MODE_MONO = 0x0001,
1506 AMTVAUDIO_MODE_STEREO = 0x0002,
1507 AMTVAUDIO_MODE_LANG_A = 0x0010,
1508 AMTVAUDIO_MODE_LANG_B = 0x0020,
1509 AMTVAUDIO_MODE_LANG_C = 0x0040,
1510 AMTVAUDIO_PRESET_STEREO = 0x0200,
1511 AMTVAUDIO_PRESET_LANG_A = 0x1000,
1512 AMTVAUDIO_PRESET_LANG_B = 0x2000,
1513 AMTVAUDIO_PRESET_LANG_C = 0x4000,
1514}TVAudioMode;
1515#endif
const DWORD ADVISE_ALL
Definition: axextend.idl:378
const DWORD ADVISE_ALL2
Definition: axextend.idl:383
REGPINTYPES
Definition: axextend.idl:194
@ ADVISE_CLIPPING
Definition: axextend.idl:371
@ ADVISE_PALETTE
Definition: axextend.idl:372
@ ADVISE_DISPLAY_CHANGE
Definition: axextend.idl:375
@ ADVISE_POSITION
Definition: axextend.idl:374
@ ADVISE_NONE
Definition: axextend.idl:370
@ ADVISE_COLORKEY
Definition: axextend.idl:373
const CLSID * clsMinorType
Definition: axextend.idl:193
@ CK_RGB
Definition: axextend.idl:357
@ CK_NOCOLORKEY
Definition: axextend.idl:355
@ CK_INDEX
Definition: axextend.idl:356
@ REG_PINFLAG_B_MANY
Definition: axextend.idl:220
@ REG_PINFLAG_B_RENDERER
Definition: axextend.idl:219
@ REG_PINFLAG_B_OUTPUT
Definition: axextend.idl:221
@ REG_PINFLAG_B_ZERO
Definition: axextend.idl:218
enum QualityMessageType
struct tagQuality Quality
IQualityControl * PQUALITYCONTROL
Definition: axextend.idl:334
struct tagCOLORKEY COLORKEY
struct _RGNDATAHEADER RGNDATAHEADER
struct _RGNDATA RGNDATA
Definition: bufpool.h:45
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
Definition: d3d10.idl:496
LPWSTR Name
Definition: desk.c:124
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
#define MERIT_DO_NOT_USE
Definition: precomp.h:18
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
#define local
Definition: zutil.h:30
GLdouble GLdouble GLdouble GLdouble q
Definition: gl.h:2063
GLuint in
Definition: glext.h:9616
unsigned int UINT
Definition: sysinfo.c:13
HRESULT Skip([in] ULONG cFilters)
HRESULT Clone([out] IEnumRegFilters **ppEnum)
HRESULT Next([in] ULONG cFilters, [out] REGFILTER **apRegFilter, [out] ULONG *pcFetched)
HRESULT Reset(void)
HRESULT EnumMatchingFilters([out] IEnumMoniker **ppEnum, [in] DWORD dwFlags, [in] BOOL bExactMatch, [in] DWORD dwMerit, [in] BOOL bInputNeeded, [in] DWORD cInputTypes, [size_is(cInputTypes *2)] const GUID *pInputTypes, [in] const REGPINMEDIUM *pMedIn, [in] const CLSID *pPinCategoryIn, [in] BOOL bRender, [in] BOOL bOutputNeeded, [in] DWORD cOutputTypes, [size_is(cOutputTypes *2)] const GUID *pOutputTypes, [in] const REGPINMEDIUM *pMedOut, [in] const CLSID *pPinCategoryOut)
HRESULT RegisterFilter([in] REFCLSID clsidFilter, [in] LPCWSTR Name, [in, out] IMoniker **ppMoniker, [in] const CLSID *pclsidCategory, [in] LPCOLESTR szInstance, [in] const REGFILTER2 *prf2)
HRESULT UnregisterFilter([in] const CLSID *pclsidCategory, [in] LPCOLESTR szInstance, [in] REFCLSID Filter)
HRESULT CreateCategory([in] REFCLSID clsidCategory, [in] DWORD dwCategoryMerit, [in] LPCWSTR Description)
HRESULT OnClipChange([in] const RECT *pSourceRect, [in] const RECT *pDestinationRect, [in] const RGNDATA *pRgnData)
HRESULT OnColorKeyChange([in] const COLORKEY *pColorKey)
HRESULT OnPaletteChange([in] DWORD dwColors, [in] const PALETTEENTRY *pPalette)
HRESULT OnPositionChange([in] const RECT *pSourceRect, [in] const RECT *pDestinationRect)
HRESULT Notify([in] IBaseFilter *pSelf, [in] Quality q)
HRESULT SetSink([in] IQualityControl *piqc)
HRESULT GetICreateDevEnum([out] ICreateDevEnum **ppEnum)
HRESULT UnregisterFilter([in] CLSID Filter)
HRESULT RegisterPin([in] CLSID Filter, [in] LPCWSTR Name, [in] BOOL bRendered, [in] BOOL bOutput, [in] BOOL bZero, [in] BOOL bMany, [in] CLSID ConnectsToFilter, [in] LPCWSTR ConnectsToPin)
HRESULT UnregisterFilterInstance([in] CLSID MRId)
HRESULT RegisterPinType([in] CLSID clsFilter, [in] LPCWSTR strName, [in] CLSID clsMajorType, [in] CLSID clsSubType)
HRESULT EnumMatchingFilters([out] IEnumRegFilters **ppEnum, [in] DWORD dwMerit, [in] BOOL bInputNeeded, [in] CLSID clsInMaj, [in] CLSID clsInSub, [in] BOOL bRender, [in] BOOL bOutputNeeded, [in] CLSID clsOutMaj, [in] CLSID clsOutSub)
HRESULT RegisterFilterInstance([in] CLSID clsid, [in] LPCWSTR Name, [out] CLSID *MRId)
HRESULT RegisterFilter([in] CLSID clsid, [in] LPCWSTR Name, [in] DWORD dwMerit)
HRESULT UnregisterPin([in] CLSID Filter, [in] LPCWSTR Name)
Definition: msctf.idl:532
const CLSID * clsid
Definition: msctf.cpp:50
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
_In_ DWORD dwVersion
Definition: netsh.h:85
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID _In_opt_ HANDLE _In_opt_ ULONG _In_opt_ ULONG _In_opt_ ULONG _In_opt_ PLARGE_INTEGER _In_opt_ PUNICODE_STRING Description
Definition: nttmapi.h:425
short WCHAR
Definition: pedump.c:58
long LONG
Definition: pedump.c:60
#define REFCLSID
Definition: guiddef.h:117
Definition: dcommon.idl:28
DWORD dwVersion
Definition: axextend.idl:238
const REGFILTERPINS * rgPins
Definition: axextend.idl:246
ULONG cPins
Definition: axextend.idl:245
DWORD dwMerit
Definition: axextend.idl:239
const REGFILTERPINS2 * rgPins2
Definition: axextend.idl:253
ULONG cPins2
Definition: axextend.idl:252
const CLSID * clsPinCategory
Definition: axextend.idl:233
const REGPINMEDIUM * lpMedium
Definition: axextend.idl:232
const REGPINTYPES * lpMediaType
Definition: axextend.idl:230
LPWSTR strName
Definition: axextend.idl:198
const CLSID * clsConnectsToFilter
Definition: axextend.idl:203
const REGPINTYPES * lpMediaType
Definition: axextend.idl:206
const WCHAR * strConnectsToPin
Definition: axextend.idl:204
UINT nMediaTypes
Definition: axextend.idl:205
CLSID Clsid
Definition: axextend.idl:83
LPWSTR Name
Definition: axextend.idl:84
CLSID clsMedium
Definition: axextend.idl:211
RGNDATAHEADER rdh
Definition: axextend.idl:401
DWORD KeyType
Definition: axextend.idl:362
COLORREF HighColorValue
Definition: axextend.idl:365
COLORREF LowColorValue
Definition: axextend.idl:364
DWORD PaletteIndex
Definition: axextend.idl:363
QualityMessageType Type
Definition: axextend.idl:328
REFERENCE_TIME Late
Definition: axextend.idl:330
LONG Proportion
Definition: axextend.idl:329
REFERENCE_TIME TimeStamp
Definition: axextend.idl:331
const uint16_t * LPCWSTR
Definition: typedefs.h:57
uint16_t * LPWSTR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383
DWORD COLORREF
Definition: windef.h:100
ncacn_np pointer_default(unique)] interface winspool
Definition: winspool.idl:865