Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenaxextend.idl
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2002 Robert Shearman 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Lesser General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2.1 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Lesser General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public 00015 * License along with this library; if not, write to the Free Software 00016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00017 */ 00018 00019 interface IAMAnalogVideoDecoder; 00020 interface IAMAnalogVideoEncoder; 00021 interface IAMAudioInputMixer; 00022 interface IAMAudioRendererStats; 00023 interface IAMBufferNegotiation; 00024 interface IAMCameraControl; 00025 interface IAMCopyCaptureFileProgress; 00026 interface IAMCrossbar; 00027 interface IAMDevMemoryAllocator; 00028 interface IAMDevMemoryControl; 00029 interface IAMDroppedFrames; 00030 interface IAMExtDevice; 00031 interface IAMExtTransport; 00032 interface IAMGraphStreams; 00033 interface IAMLatency; 00034 interface IAMOpenProgress; 00035 interface IAMOverlayFX; 00036 interface IAMPhysicalPinInfo; 00037 interface IAMPushSource; 00038 interface IAMStreamConfig; 00039 interface IAMTimecodeDisplay; 00040 interface IAMTimecodeGenerator; 00041 interface IAMTimecodeReader; 00042 interface IAMTVTuner; 00043 interface IAMVfwCaptureDialogs; 00044 interface IAMVfwCompressDialogs; 00045 interface IAMVideoCompression; 00046 interface IAMVideoDecimationProperties; 00047 interface IAMVideoProcAmp; 00048 interface ICaptureGraphBuilder; 00049 interface ICaptureGraphBuilder2; 00050 interface IConfigAviMux; 00051 interface IConfigInterleaving; 00052 interface IDecimateVideoImage; 00053 interface IDrawVideoImage; 00054 interface IEnumRegFilters; 00055 interface IEnumStreamIdMap; 00056 interface IFileSourceFilter; 00057 interface IFileSinkFilter; 00058 interface IFileSinkFilter2; 00059 interface IFilterMapper; 00060 interface IFilterMapper2; 00061 interface IGraphBuilder; 00062 interface IKsPropertySet; 00063 interface IMediaEventSink; 00064 interface IMpeg2Demultiplexer; 00065 interface IMPEG2StreamIdMap; 00066 interface IOverlay; 00067 interface IOverlayNotify; 00068 interface IOverlayNotify2; 00069 interface IQualityControl; 00070 interface ISeekingPassThru; 00071 00072 typedef struct 00073 { 00074 CLSID Clsid; 00075 LPWSTR Name; 00076 } REGFILTER; 00077 00078 [ 00079 object, 00080 uuid(56a868a4-0ad4-11ce-b03a-0020af0ba770), 00081 pointer_default(unique) 00082 ] 00083 interface IEnumRegFilters : IUnknown 00084 { 00085 HRESULT Next 00086 ( [in] ULONG cFilters, 00087 [out] REGFILTER ** apRegFilter, 00088 [out] ULONG * pcFetched 00089 ); 00090 00091 HRESULT Skip( 00092 [in] ULONG cFilters 00093 ); 00094 00095 HRESULT Reset(void); 00096 00097 HRESULT Clone( 00098 [out] IEnumRegFilters **ppEnum 00099 ); 00100 } 00101 00102 00103 typedef IEnumRegFilters *PENUMREGFILTERS; 00104 00105 [ 00106 object, 00107 uuid(56a868a3-0ad4-11ce-b03a-0020af0ba770), 00108 pointer_default(unique) 00109 ] 00110 interface IFilterMapper : IUnknown 00111 { 00112 enum { MERIT_PREFERRED = 0x800000, 00113 MERIT_NORMAL = 0x600000, 00114 MERIT_UNLIKELY = 0x400000, 00115 MERIT_DO_NOT_USE = 0x200000, 00116 MERIT_SW_COMPRESSOR = 0x100000, 00117 MERIT_HW_COMPRESSOR = 0x100050 00118 }; 00119 00120 HRESULT RegisterFilter 00121 ( [in] CLSID clsid, 00122 [in] LPCWSTR Name, 00123 [in] DWORD dwMerit 00124 ); 00125 00126 HRESULT RegisterFilterInstance 00127 ( [in] CLSID clsid, 00128 [in] LPCWSTR Name, 00129 [out] CLSID *MRId 00130 ); 00131 00132 00133 HRESULT RegisterPin 00134 ( [in] CLSID Filter, 00135 [in] LPCWSTR Name, 00136 [in] BOOL bRendered, 00137 [in] BOOL bOutput, 00138 [in] BOOL bZero, 00139 [in] BOOL bMany, 00140 [in] CLSID ConnectsToFilter, 00141 [in] LPCWSTR ConnectsToPin 00142 ); 00143 00144 HRESULT RegisterPinType 00145 ( [in] CLSID clsFilter, 00146 [in] LPCWSTR strName, 00147 [in] CLSID clsMajorType, 00148 [in] CLSID clsSubType 00149 ); 00150 00151 00152 HRESULT UnregisterFilter 00153 ( [in] CLSID Filter 00154 ); 00155 00156 00157 HRESULT UnregisterFilterInstance 00158 ( [in] CLSID MRId 00159 ); 00160 00161 00162 HRESULT UnregisterPin 00163 ( [in] CLSID Filter, 00164 [in] LPCWSTR Name 00165 ); 00166 00167 HRESULT EnumMatchingFilters 00168 ( [out] IEnumRegFilters **ppEnum, 00169 [in] DWORD dwMerit, 00170 [in] BOOL bInputNeeded, 00171 [in] CLSID clsInMaj, 00172 [in] CLSID clsInSub, 00173 [in] BOOL bRender, 00174 [in] BOOL bOututNeeded, 00175 [in] CLSID clsOutMaj, 00176 [in] CLSID clsOutSub 00177 ); 00178 00179 } 00180 00181 typedef struct 00182 { 00183 const CLSID * clsMajorType; 00184 const CLSID * clsMinorType; 00185 } REGPINTYPES; 00186 00187 typedef struct 00188 { 00189 LPWSTR strName; 00190 BOOL bRendered; 00191 BOOL bOutput; 00192 BOOL bZero; 00193 BOOL bMany; 00194 const CLSID * clsConnectsToFilter; 00195 const WCHAR * strConnectsToPin; 00196 UINT nMediaTypes; 00197 const REGPINTYPES * lpMediaType; 00198 } REGFILTERPINS; 00199 00200 typedef struct 00201 { 00202 CLSID clsMedium; 00203 DWORD dw1; 00204 DWORD dw2; 00205 } REGPINMEDIUM; 00206 00207 enum 00208 { 00209 REG_PINFLAG_B_ZERO = 0x1, 00210 REG_PINFLAG_B_RENDERER = 0x2, 00211 REG_PINFLAG_B_MANY = 0x4, 00212 REG_PINFLAG_B_OUTPUT = 0x8 00213 }; 00214 00215 00216 typedef struct 00217 { 00218 DWORD dwFlags; 00219 UINT cInstances; 00220 UINT nMediaTypes; 00221 [size_is(nMediaTypes)] const REGPINTYPES * lpMediaType; 00222 UINT nMediums; 00223 [size_is(nMediums)] const REGPINMEDIUM *lpMedium; 00224 const CLSID *clsPinCategory; 00225 } REGFILTERPINS2; 00226 00227 typedef struct 00228 { 00229 DWORD dwVersion; 00230 DWORD dwMerit; 00231 [switch_is(dwVersion)] [switch_type(DWORD)] union 00232 { 00233 [case(1)] 00234 struct 00235 { 00236 ULONG cPins; 00237 [size_is(cPins)] const REGFILTERPINS *rgPins; 00238 } DUMMYSTRUCTNAME; 00239 00240 [case(2)] 00241 struct 00242 { 00243 ULONG cPins2; 00244 [size_is(cPins2)] const REGFILTERPINS2 *rgPins2; 00245 } DUMMYSTRUCTNAME1; 00246 00247 [default] 00248 ; 00249 } DUMMYUNIONNAME; 00250 00251 } REGFILTER2; 00252 00253 00254 [ 00255 object, 00256 uuid(b79bb0b0-33c1-11d1-abe1-00a0c905f375), 00257 pointer_default(unique) 00258 ] 00259 interface IFilterMapper2 : IUnknown 00260 { 00261 HRESULT CreateCategory 00262 ( [in] REFCLSID clsidCategory, 00263 [in] DWORD dwCategoryMerit, 00264 [in] LPCWSTR Description 00265 ); 00266 00267 HRESULT UnregisterFilter 00268 ( [in] const CLSID *pclsidCategory, 00269 [in] LPCOLESTR szInstance, 00270 [in] REFCLSID Filter 00271 ); 00272 00273 HRESULT RegisterFilter 00274 ( [in] REFCLSID clsidFilter, 00275 [in] LPCWSTR Name, 00276 [in, out] IMoniker **ppMoniker, 00277 [in] const CLSID *pclsidCategory, 00278 [in] LPCOLESTR szInstance, 00279 [in] const REGFILTER2 *prf2 00280 ); 00281 00282 HRESULT EnumMatchingFilters 00283 ( [out] IEnumMoniker **ppEnum, 00284 [in] DWORD dwFlags, 00285 [in] BOOL bExactMatch, 00286 [in] DWORD dwMerit, 00287 [in] BOOL bInputNeeded, 00288 [in] DWORD cInputTypes, 00289 [size_is(cInputTypes*2)] const GUID *pInputTypes, 00290 [in] const REGPINMEDIUM *pMedIn, 00291 [in] const CLSID *pPinCategoryIn, 00292 [in] BOOL bRender, 00293 [in] BOOL bOutputNeeded, 00294 [in] DWORD cOutputTypes, 00295 [size_is(cOutputTypes*2)] const GUID *pOutputTypes, 00296 [in] const REGPINMEDIUM *pMedOut, 00297 [in] const CLSID *pPinCategoryOut 00298 ); 00299 } 00300 00301 [ 00302 object, 00303 uuid(b79bb0b1-33c1-11d1-abe1-00a0c905f375), 00304 pointer_default(unique) 00305 ] 00306 interface IFilterMapper3 : IFilterMapper2 00307 { 00308 HRESULT GetICreateDevEnum( [out] ICreateDevEnum **ppEnum ); 00309 } 00310 00311 typedef enum tagQualityMessageType 00312 { 00313 Famine, 00314 Flood 00315 } QualityMessageType; 00316 00317 typedef struct tagQuality 00318 { 00319 QualityMessageType Type; 00320 LONG Proportion; 00321 REFERENCE_TIME Late; 00322 REFERENCE_TIME TimeStamp; 00323 } Quality; 00324 00325 typedef IQualityControl *PQUALITYCONTROL; 00326 00327 [ 00328 object, 00329 uuid(56a868a5-0ad4-11ce-b03a-0020af0ba770), 00330 pointer_default(unique) 00331 ] 00332 interface IQualityControl : IUnknown 00333 { 00334 HRESULT Notify 00335 ( [in] IBaseFilter * pSelf, 00336 [in] Quality q 00337 ); 00338 00339 HRESULT SetSink 00340 ( [in] IQualityControl * piqc 00341 ); 00342 } 00343 00344 enum 00345 { 00346 CK_NOCOLORKEY = 0x0, 00347 CK_INDEX = 0x1, 00348 CK_RGB = 0x2 00349 }; 00350 00351 typedef struct tagCOLORKEY 00352 { 00353 DWORD KeyType; 00354 DWORD PaletteIndex; 00355 COLORREF LowColorValue; 00356 COLORREF HighColorValue; 00357 } COLORKEY; 00358 00359 enum 00360 { 00361 ADVISE_NONE = 0x0, 00362 ADVISE_CLIPPING = 0x1, 00363 ADVISE_PALETTE = 0x2, 00364 ADVISE_COLORKEY = 0x4, 00365 ADVISE_POSITION = 0x8, 00366 ADVISE_DISPLAY_CHANGE = 0x10 00367 }; 00368 00369 const DWORD ADVISE_ALL = ADVISE_CLIPPING | 00370 ADVISE_PALETTE | 00371 ADVISE_COLORKEY | 00372 ADVISE_POSITION; 00373 00374 const DWORD ADVISE_ALL2 = ADVISE_ALL | 00375 ADVISE_DISPLAY_CHANGE; 00376 00377 cpp_quote("#ifndef _WINGDI_") 00378 00379 /* already defined in wingdi.h, but needed for WIDL */ 00380 00381 typedef struct _RGNDATAHEADER 00382 { 00383 DWORD dwSize; 00384 DWORD iType; 00385 DWORD nCount; 00386 DWORD nRgnSize; 00387 RECT rcBound; 00388 } RGNDATAHEADER; 00389 00390 typedef struct _RGNDATA 00391 { 00392 RGNDATAHEADER rdh; 00393 char Buffer[1]; 00394 } RGNDATA; 00395 00396 cpp_quote("#endif /* _WINGDI_ */") 00397 00398 [ 00399 object, 00400 local, 00401 uuid(56a868a0-0ad4-11ce-b03a-0020af0ba770), 00402 pointer_default(unique) 00403 ] 00404 interface IOverlayNotify : IUnknown 00405 { 00406 HRESULT OnPaletteChange( 00407 [in] DWORD dwColors, 00408 [in] const PALETTEENTRY *pPalette); 00409 00410 HRESULT OnClipChange( 00411 [in] const RECT *pSourceRect, 00412 [in] const RECT *pDestinationRect, 00413 [in] const RGNDATA *pRgnData); 00414 00415 HRESULT OnColorKeyChange([in] const COLORKEY *pColorKey); 00416 00417 HRESULT OnPositionChange([in] const RECT *pSourceRect, 00418 [in] const RECT *pDestinationRect); 00419 } 00420 00421 typedef IOverlayNotify *POVERLAYNOTIFY; 00422 00423 cpp_quote("#if 0") 00424 typedef HANDLE HMONITOR; 00425 cpp_quote("#endif /* 0 */") 00426 00427 [ 00428 object, 00429 local, 00430 uuid(680EFA10-D535-11D1-87C8-00A0C9223196), 00431 pointer_default(unique) 00432 ] 00433 interface IOverlayNotify2 : IOverlayNotify 00434 { 00435 HRESULT OnDisplayChange( 00436 HMONITOR hMonitor); 00437 } 00438 00439 typedef IOverlayNotify2 *POVERLAYNOTIFY2; 00440 00441 [ 00442 object, 00443 local, 00444 uuid(56a868a1-0ad4-11ce-b03a-0020af0ba770), 00445 pointer_default(unique) 00446 ] 00447 interface IOverlay : IUnknown 00448 { 00449 HRESULT GetPalette( 00450 [out] DWORD *pdwColors, 00451 [out] PALETTEENTRY **ppPalette); 00452 00453 HRESULT SetPalette( 00454 [in] DWORD dwColors, 00455 [in] PALETTEENTRY *pPalette); 00456 00457 HRESULT GetDefaultColorKey([out] COLORKEY *pColorKey); 00458 00459 HRESULT GetColorKey([out] COLORKEY *pColorKey); 00460 00461 HRESULT SetColorKey([in,out] COLORKEY *pColorKey); 00462 00463 HRESULT GetWindowHandle([out] HWND *pHwnd); 00464 00465 HRESULT GetClipList([out] RECT *pSourceRect, 00466 [out] RECT *pDestinationRect, 00467 [out] RGNDATA **ppRgnData); 00468 00469 HRESULT GetVideoPosition([out] RECT *pSourceRect, 00470 [out] RECT *pDestinationRect); 00471 00472 HRESULT Advise( 00473 [in] IOverlayNotify *pOverlayNotify, 00474 [in] DWORD dwInterests); 00475 00476 HRESULT Unadvise(); 00477 } 00478 00479 typedef IOverlay *POVERLAY; 00480 00481 [ 00482 object, 00483 uuid(56a868a2-0ad4-11ce-b03a-0020af0ba770), 00484 pointer_default(unique) 00485 ] 00486 interface IMediaEventSink : IUnknown 00487 { 00488 HRESULT Notify( 00489 [in] LONG EventCode, 00490 [in] LONG_PTR EventParam1, 00491 [in] LONG_PTR EventParam2 00492 ); 00493 } 00494 00495 typedef IMediaEventSink *PMEDIAEVENTSINK; 00496 00497 [ 00498 object, 00499 uuid(56a868a6-0ad4-11ce-b03a-0020af0ba770), 00500 pointer_default(unique) 00501 ] 00502 interface IFileSourceFilter : IUnknown 00503 { 00504 HRESULT Load( 00505 [in] LPCOLESTR pszFileName, 00506 [in, unique] const AM_MEDIA_TYPE *pmt 00507 ); 00508 00509 HRESULT GetCurFile( 00510 [out] LPOLESTR *ppszFileName, 00511 [out] AM_MEDIA_TYPE *pmt 00512 ); 00513 } 00514 00515 typedef IFileSourceFilter *PFILTERFILESOURCE; 00516 00517 [ 00518 object, 00519 uuid(a2104830-7c70-11cf-8bce-00aa00a3f1a6), 00520 pointer_default(unique) 00521 ] 00522 interface IFileSinkFilter : IUnknown 00523 { 00524 HRESULT SetFileName( 00525 [in] LPCOLESTR pszFileName, 00526 [in, unique] const AM_MEDIA_TYPE *pmt 00527 ); 00528 00529 HRESULT GetCurFile( 00530 [out] LPOLESTR *ppszFileName, 00531 [out] AM_MEDIA_TYPE *pmt 00532 ); 00533 } 00534 00535 typedef IFileSinkFilter *PFILTERFILESINK; 00536 00537 [ 00538 object, 00539 uuid(00855B90-CE1B-11d0-BD4F-00A0C911CE86), 00540 pointer_default(unique) 00541 ] 00542 interface IFileSinkFilter2 : IFileSinkFilter 00543 { 00544 HRESULT SetMode( 00545 [in] DWORD dwFlags 00546 ); 00547 00548 HRESULT GetMode( 00549 [out] DWORD *pdwFlags 00550 ); 00551 } 00552 00553 typedef IFileSinkFilter2 *PFILESINKFILTER2; 00554 00555 [ 00556 object, 00557 uuid(f90a6130-b658-11d2-ae49-0000f8754b99), 00558 pointer_default(unique) 00559 ] 00560 interface IAMDeviceRemoval : IUnknown 00561 { 00562 HRESULT DeviceInfo( 00563 [out] CLSID *pclsidInterfaceClass, 00564 [out] LPWSTR *pwszSymbolicLink); 00565 HRESULT Reassociate(); 00566 HRESULT Disassociate(); 00567 } 00568 00569 00570 typedef enum 00571 { 00572 AM_FILE_OVERWRITE = 0x00000001, 00573 } AM_FILESINK_FLAGS; 00574 00575 [ 00576 object, 00577 uuid(56a868a9-0ad4-11ce-b03a-0020af0ba770), 00578 pointer_default(unique) 00579 ] 00580 interface IGraphBuilder : IFilterGraph 00581 { 00582 HRESULT Connect 00583 ( [in] IPin * ppinOut, 00584 [in] IPin * ppinIn 00585 ); 00586 00587 HRESULT Render 00588 ( [in] IPin * ppinOut 00589 ); 00590 00591 HRESULT RenderFile 00592 ( [in] LPCWSTR lpcwstrFile, 00593 [in, unique] LPCWSTR lpcwstrPlayList 00594 ); 00595 00596 HRESULT AddSourceFilter 00597 ( [in] LPCWSTR lpcwstrFileName, 00598 [in, unique] LPCWSTR lpcwstrFilterName, 00599 [out] IBaseFilter* *ppFilter 00600 ); 00601 00602 HRESULT SetLogFile 00603 ( [in] DWORD_PTR hFile 00604 ); 00605 00606 HRESULT Abort(); 00607 00608 HRESULT ShouldOperationContinue(); 00609 } 00610 00611 00612 [ 00613 object, 00614 uuid(bf87b6e0-8c27-11d0-b3f0-00aa003761c5), 00615 pointer_default(unique) 00616 ] 00617 interface ICaptureGraphBuilder : IUnknown { 00618 00619 HRESULT SetFiltergraph( 00620 [in] IGraphBuilder *pfg); 00621 00622 HRESULT GetFiltergraph( 00623 [out] IGraphBuilder **ppfg); 00624 00625 HRESULT SetOutputFileName( 00626 [in] const GUID *pType, 00627 [in] LPCOLESTR lpstrFile, 00628 [out] IBaseFilter **ppf, 00629 [out] IFileSinkFilter **ppSink); 00630 00631 [local] HRESULT FindInterface( 00632 [in, unique] const GUID *pCategory, 00633 [in] IBaseFilter *pf, 00634 [in] REFIID riid, 00635 [out] void **ppint); 00636 00637 [call_as(FindInterface)] HRESULT RemoteFindInterface( 00638 [in, unique] const GUID *pCategory, 00639 [in] IBaseFilter *pf, 00640 [in] REFIID riid, 00641 [out] IUnknown **ppint); 00642 00643 HRESULT RenderStream( 00644 [in] const GUID *pCategory, 00645 [in] IUnknown *pSource, 00646 [in] IBaseFilter *pfCompressor, 00647 [in] IBaseFilter *pfRenderer); 00648 00649 HRESULT ControlStream( 00650 [in] const GUID *pCategory, 00651 [in] IBaseFilter *pFilter, 00652 [in] REFERENCE_TIME *pstart, 00653 [in] REFERENCE_TIME *pstop, 00654 [in] WORD wStartCookie, 00655 [in] WORD wStopCookie); 00656 00657 HRESULT AllocCapFile( 00658 [in] LPCOLESTR lpstr, 00659 [in] DWORDLONG dwlSize); 00660 00661 HRESULT CopyCaptureFile( 00662 [in] LPOLESTR lpwstrOld, 00663 [in] LPOLESTR lpwstrNew, 00664 [in] int fAllowEscAbort, 00665 [in] IAMCopyCaptureFileProgress *pCallback); 00666 } 00667 00668 [ 00669 object, 00670 uuid(670d1d20-a068-11d0-b3f0-00aa003761c5), 00671 pointer_default(unique) 00672 ] 00673 interface IAMCopyCaptureFileProgress : IUnknown 00674 { 00675 HRESULT Progress( 00676 [in] int iProgress); 00677 } 00678 00679 [ 00680 object, 00681 uuid(93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D), 00682 pointer_default(unique) 00683 ] 00684 interface ICaptureGraphBuilder2 : IUnknown 00685 { 00686 HRESULT SetFiltergraph( 00687 [in] IGraphBuilder *pfg); 00688 00689 HRESULT GetFiltergraph( 00690 [out] IGraphBuilder **ppfg); 00691 00692 HRESULT SetOutputFileName( 00693 [in] const GUID *pType, 00694 [in] LPCOLESTR lpstrFile, 00695 [out] IBaseFilter **ppf, 00696 [out] IFileSinkFilter **ppSink); 00697 00698 [local] HRESULT FindInterface( 00699 [in] const GUID *pCategory, 00700 [in] const GUID *pType, 00701 [in] IBaseFilter *pf, 00702 [in] REFIID riid, 00703 [out] void **ppint); 00704 00705 [call_as(FindInterface)] HRESULT RemoteFindInterface( 00706 [in] const GUID *pCategory, 00707 [in] const GUID *pType, 00708 [in] IBaseFilter *pf, 00709 [in] REFIID riid, 00710 [out] IUnknown **ppint); 00711 00712 HRESULT RenderStream( 00713 [in] const GUID *pCategory, 00714 [in] const GUID *pType, 00715 [in] IUnknown *pSource, 00716 [in] IBaseFilter *pfCompressor, 00717 [in] IBaseFilter *pfRenderer); 00718 00719 HRESULT ControlStream( 00720 [in] const GUID *pCategory, 00721 [in] const GUID *pType, 00722 [in] IBaseFilter *pFilter, 00723 [in] REFERENCE_TIME *pstart, 00724 [in] REFERENCE_TIME *pstop, 00725 [in] WORD wStartCookie, 00726 [in] WORD wStopCookie); 00727 00728 HRESULT AllocCapFile( 00729 [in] LPCOLESTR lpstr, 00730 [in] DWORDLONG dwlSize); 00731 00732 HRESULT CopyCaptureFile( 00733 [in] LPOLESTR lpwstrOld, 00734 [in] LPOLESTR lpwstrNew, 00735 [in] int fAllowEscAbort, 00736 [in] IAMCopyCaptureFileProgress *pCallback); 00737 00738 HRESULT FindPin( 00739 [in] IUnknown *pSource, 00740 [in] PIN_DIRECTION pindir, 00741 [in] const GUID *pCategory, 00742 [in] const GUID *pType, 00743 [in] BOOL fUnconnected, 00744 [in] int num, 00745 [out] IPin **ppPin); 00746 } 00747 00748 enum _AM_RENSDEREXFLAGS 00749 { 00750 AM_RENDEREX_RENDERTOEXISTINGRENDERERS = 0x01 00751 }; 00752 00753 [ 00754 object, 00755 uuid(36b73882-c2c8-11cf-8b46-00805f6cef60), 00756 pointer_default(unique) 00757 ] 00758 interface IFilterGraph2: IGraphBuilder 00759 { 00760 HRESULT AddSourceFilterForMoniker( 00761 [in] IMoniker *pMoniker, 00762 [in] IBindCtx *pCtx, 00763 [in, unique] LPCWSTR lpcwstrFilterName, 00764 [out] IBaseFilter **ppFilter 00765 ); 00766 00767 HRESULT ReconnectEx 00768 ( [in] IPin * ppin, 00769 [in, unique] const AM_MEDIA_TYPE *pmt 00770 ); 00771 00772 HRESULT RenderEx( [in] IPin *pPinOut, 00773 [in] DWORD dwFlags, 00774 [in, out] DWORD *pvContext 00775 ); 00776 } 00777 00778 [ 00779 object, 00780 local, 00781 uuid(56a868bf-0ad4-11ce-b03a-0020af0ba770), 00782 pointer_default(unique) 00783 ] 00784 interface IStreamBuilder : IUnknown 00785 { 00786 HRESULT Render 00787 ( [in] IPin * ppinOut, 00788 [in] IGraphBuilder * pGraph 00789 ); 00790 00791 HRESULT Backout 00792 ( [in] IPin * ppinOut, 00793 [in] IGraphBuilder * pGraph 00794 ); 00795 } 00796 00797 [ 00798 object, 00799 uuid(56a868af-0ad4-11ce-b03a-0020af0ba770), 00800 pointer_default(unique) 00801 ] 00802 interface IDistributorNotify : IUnknown 00803 { 00804 HRESULT Stop(void); 00805 HRESULT Pause(void); 00806 HRESULT Run(REFERENCE_TIME tStart); 00807 HRESULT SetSyncSource([in] IReferenceClock * pClock); 00808 HRESULT NotifyGraphChange(void); 00809 } 00810 00811 typedef enum 00812 { 00813 AM_STREAM_INFO_START_DEFINED = 0x01, 00814 AM_STREAM_INFO_STOP_DEFINED = 0x02, 00815 AM_STREAM_INFO_DISCARDING = 0x04, 00816 AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10 00817 } AM_STREAM_INFO_FLAGS; 00818 00819 typedef struct 00820 { 00821 REFERENCE_TIME tStart; 00822 REFERENCE_TIME tStop; 00823 DWORD dwStartCookie; 00824 DWORD dwStopCookie; 00825 DWORD dwFlags; 00826 }AM_STREAM_INFO; 00827 00828 00829 /***************************************************************************** 00830 * IAMStreamConfig interface 00831 */ 00832 [ 00833 object, 00834 uuid(c6e13340-30ac-11d0-a18c-00a0c9118956), 00835 pointer_default(unique) 00836 ] 00837 interface IAMStreamConfig : IUnknown 00838 { 00839 HRESULT SetFormat( [in] AM_MEDIA_TYPE *pmt); 00840 HRESULT GetFormat( [in] AM_MEDIA_TYPE **pmt); 00841 HRESULT GetNumberOfCapabilities( [out] int *piCount, [out] int *piSize); 00842 HRESULT GetStreamCaps( [in] int iIndex, [out] AM_MEDIA_TYPE **pmt, 00843 [out] BYTE *pSCC); 00844 } 00845 00846 00847 typedef enum tagVideoProcAmpProperty 00848 { 00849 VideoProcAmp_Brightness, 00850 VideoProcAmp_Contrast, 00851 VideoProcAmp_Hue, 00852 VideoProcAmp_Saturation, 00853 VideoProcAmp_Sharpness, 00854 VideoProcAmp_Gamma, 00855 VideoProcAmp_ColorEnable, 00856 VideoProcAmp_WhiteBalance, 00857 VideoProcAmp_BacklightCompensation, 00858 VideoProcAmp_Gain 00859 } VideoProcAmpProperty; 00860 00861 typedef enum tagVideoProcAmpFlags 00862 { 00863 VideoProcAmp_Flags_Auto = 0x0001, 00864 VideoProcAmp_Flags_Manual = 0x0002, 00865 } VideoProcAmpFlags; 00866 00867 /***************************************************************************** 00868 * IAMVideoProcAmp interface 00869 */ 00870 [ 00871 object, 00872 uuid(c6e13360-30ac-11d0-a18c-00a0c9118956), 00873 pointer_default(unique) 00874 ] 00875 interface IAMVideoProcAmp : IUnknown 00876 { 00877 HRESULT GetRange( [in] LONG Property, [out] LONG *pMin, [out] LONG *pMax, 00878 [out] LONG *pSteppingDelta, [out] LONG *pDefault, 00879 [out] LONG *pCapsFlags); 00880 HRESULT Set( [in] LONG Property, [in] LONG lValue, [in] LONG Flags); 00881 HRESULT Get( [in] LONG Property, [out] LONG *lValue, [out] LONG *Flags); 00882 } 00883 00884 00885 [ 00886 object, 00887 uuid(56a868aa-0ad4-11ce-b03a-0020af0ba770), 00888 pointer_default(unique) 00889 ] 00890 interface IAsyncReader : IUnknown 00891 { 00892 HRESULT RequestAllocator( 00893 [in] IMemAllocator* pPreferred, 00894 [in] ALLOCATOR_PROPERTIES* pProps, 00895 [out] IMemAllocator ** ppActual); 00896 00897 HRESULT Request( 00898 [in] IMediaSample* pSample, 00899 [in] DWORD_PTR dwUser); 00900 00901 HRESULT WaitForNext( 00902 [in] DWORD dwTimeout, 00903 [out] IMediaSample** ppSample, 00904 [out] DWORD_PTR * pdwUser); 00905 00906 HRESULT SyncReadAligned( 00907 [in] IMediaSample* pSample); 00908 00909 HRESULT SyncRead( 00910 [in] LONGLONG llPosition, 00911 [in] LONG lLength, 00912 [out, size_is(lLength)] 00913 BYTE* pBuffer); 00914 00915 HRESULT Length( 00916 [out] LONGLONG* pTotal, 00917 [out] LONGLONG* pAvailable); 00918 00919 HRESULT BeginFlush(void); 00920 00921 HRESULT EndFlush(void); 00922 } 00923 00924 00925 [ 00926 object, 00927 uuid(56a868ab-0ad4-11ce-b03a-0020af0ba770), 00928 pointer_default(unique) 00929 ] 00930 interface IGraphVersion : IUnknown 00931 { 00932 HRESULT QueryVersion(LONG* pVersion); 00933 } 00934 00935 [ 00936 object, 00937 uuid(56a868ad-0ad4-11ce-b03a-0020af0ba770), 00938 pointer_default(unique) 00939 ] 00940 interface IResourceConsumer : IUnknown 00941 { 00942 HRESULT AcquireResource( 00943 [in] LONG idResource); 00944 00945 HRESULT ReleaseResource( 00946 [in] LONG idResource); 00947 } 00948 00949 00950 [ 00951 object, 00952 uuid(56a868ac-0ad4-11ce-b03a-0020af0ba770), 00953 pointer_default(unique) 00954 ] 00955 interface IResourceManager : IUnknown 00956 { 00957 HRESULT Register( 00958 [in] LPCWSTR pName, 00959 [in] LONG cResource, 00960 [out] LONG* plToken 00961 ); 00962 00963 HRESULT RegisterGroup( 00964 [in] LPCWSTR pName, 00965 [in] LONG cResource, 00966 [in, size_is(cResource)] 00967 LONG* palTokens, 00968 [out] LONG* plToken 00969 ); 00970 00971 HRESULT RequestResource( 00972 [in] LONG idResource, 00973 [in] IUnknown* pFocusObject, 00974 [in] IResourceConsumer* pConsumer 00975 ); 00976 00977 HRESULT NotifyAcquire( 00978 [in] LONG idResource, 00979 [in] IResourceConsumer* pConsumer, 00980 [in] HRESULT hr); 00981 00982 HRESULT NotifyRelease( 00983 [in] LONG idResource, 00984 [in] IResourceConsumer* pConsumer, 00985 [in] BOOL bStillWant); 00986 00987 HRESULT CancelRequest( 00988 [in] LONG idResource, 00989 [in] IResourceConsumer* pConsumer); 00990 00991 HRESULT SetFocus( 00992 [in] IUnknown* pFocusObject); 00993 00994 HRESULT ReleaseFocus( 00995 [in] IUnknown* pFocusObject); 00996 00997 } 00998 00999 cpp_quote("#ifndef _IKsPropertySet_") 01000 cpp_quote("#define _IKsPropertySet_") 01001 cpp_quote("#define KSPROPERTY_SUPPORT_GET 1") 01002 cpp_quote("#define KSPROPERTY_SUPPORT_SET 2") 01003 01004 [ 01005 object, 01006 uuid(31efac30-515c-11d0-a9aa-00aa0061be93), 01007 pointer_default(unique), 01008 local 01009 ] 01010 interface IKsPropertySet : IUnknown 01011 { 01012 HRESULT Set( [in] REFGUID guidPropSet, 01013 [in] DWORD dwPropID, 01014 [in, size_is(cbInstanceData)] LPVOID pInstanceData, 01015 [in] DWORD cbInstanceData, 01016 [in, size_is(cbPropData)] LPVOID pPropData, 01017 [in] DWORD cbPropData ); 01018 01019 HRESULT Get( [in] REFGUID guidPropSet, 01020 [in] DWORD dwPropID, 01021 [in, size_is(cbInstanceData)] LPVOID pInstanceData, 01022 [in] DWORD cbInstanceData, 01023 [out, size_is(cbPropData)] LPVOID pPropData, 01024 [in] DWORD cbPropData, 01025 [out] DWORD *pcbReturned ); 01026 01027 HRESULT QuerySupported( [in] REFGUID guidPropSet, 01028 [in] DWORD dwPropID, 01029 [out] DWORD *pTypeSupport); 01030 } 01031 cpp_quote("#endif /* _IKsPropertySet_ */") 01032 01033 [ 01034 object, 01035 uuid(36b73883-c2c8-11cf-8b46-00805f6cef60), 01036 pointer_default(unique) 01037 ] 01038 interface ISeekingPassThru : IUnknown 01039 { 01040 HRESULT Init( [in] BOOL bSupportRendering, [in] IPin *pPin); 01041 } 01042 01043 [ 01044 local, 01045 object, 01046 uuid(4d5466b0-a49c-11d1-abe8-00a0c905f375), 01047 pointer_default(unique) 01048 01049 ] 01050 interface IAMClockAdjust : IUnknown 01051 { 01052 HRESULT SetClockDelta([in] REFERENCE_TIME rtDelta); 01053 }; 01054 01055 01056 enum _AM_FILTER_MISC_FLAGS 01057 { 01058 AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1, 01059 AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2 01060 }; 01061 01062 [ 01063 local, 01064 object, 01065 uuid(2dd74950-a890-11d1-abe8-00a0c905f375), 01066 pointer_default(unique) 01067 ] 01068 interface IAMFilterMiscFlags : IUnknown 01069 { 01070 ULONG GetMiscFlags(); 01071 }; 01072 01073 [ 01074 local, 01075 object, 01076 uuid(56ED71A0-AF5F-11D0-B3F0-00AA003761C5), 01077 pointer_default(unique) 01078 ] 01079 interface IAMBufferNegotiation : IUnknown 01080 { 01081 HRESULT SuggestAllocatorProperties ( 01082 [in] const ALLOCATOR_PROPERTIES *pprop); 01083 01084 HRESULT GetAllocatorProperties ( 01085 [out] ALLOCATOR_PROPERTIES *pprop); 01086 01087 } 01088 01089 #include <axextendenums.h> 01090 01091 [ 01092 object, 01093 uuid(36b73881-c2c8-11cf-8b46-00805f6cef60), 01094 pointer_default(unique) 01095 ] 01096 interface IAMStreamControl : IUnknown 01097 { 01098 HRESULT StartAt( [in] REFERENCE_TIME * ptStart, 01099 [in] DWORD dwCookie ); 01100 HRESULT StopAt( [in] REFERENCE_TIME * ptStop, 01101 [in] BOOL bSendExtra, 01102 [in] DWORD dwCookie ); 01103 HRESULT GetInfo( [out] AM_STREAM_INFO *pInfo); 01104 } 01105 01106 typedef enum tagTVAudioMode 01107 { 01108 AMTVAUDIO_MODE_MONO = 0x0001, 01109 AMTVAUDIO_MODE_STEREO = 0x0002, 01110 AMTVAUDIO_MODE_LANG_A = 0x0010, 01111 AMTVAUDIO_MODE_LANG_B = 0x0020, 01112 AMTVAUDIO_MODE_LANG_C = 0x0040, 01113 AMTVAUDIO_PRESET_STEREO = 0x0200, 01114 AMTVAUDIO_PRESET_LANG_A = 0x1000, 01115 AMTVAUDIO_PRESET_LANG_B = 0x2000, 01116 AMTVAUDIO_PRESET_LANG_C = 0x4000, 01117 }TVAudioMode; Generated on Sat May 26 2012 04:29:14 for ReactOS by
1.7.6.1
|