"Fossies" - the Fresh Open Source Software Archive

Member "FreeBASIC-1.09.0-win64/inc/win/strmif.bi" (1 Jan 2022, 625440 Bytes) of package /windows/misc/FreeBASIC-1.09.0-win64.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Visual Basic source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.


    1 '' FreeBASIC binding for mingw-w64-v4.0.4
    2 ''
    3 '' based on the C header files:
    4 ''   DISCLAIMER
    5 ''   This file has no copyright assigned and is placed in the Public Domain.
    6 ''   This file is part of the mingw-w64 runtime package.
    7 ''
    8 ''   The mingw-w64 runtime package and its code is distributed in the hope that it 
    9 ''   will be useful but WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESSED OR 
   10 ''   IMPLIED ARE HEREBY DISCLAIMED.  This includes but is not limited to 
   11 ''   warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   12 ''
   13 '' translated to FreeBASIC by:
   14 ''   Copyright © 2015 FreeBASIC development team
   15 
   16 #pragma once
   17 
   18 #inclib "strmiids"
   19 
   20 #include once "rpc.bi"
   21 #include once "rpcndr.bi"
   22 #include once "windows.bi"
   23 #include once "ole2.bi"
   24 #include once "unknwn.bi"
   25 #include once "objidl.bi"
   26 #include once "oaidl.bi"
   27 #include once "winapifamily.bi"
   28 #include once "ocidl.bi"
   29 #include once "ddraw.bi"
   30 
   31 extern "Windows"
   32 
   33 #define __strmif_h__
   34 #define __ICreateDevEnum_FWD_DEFINED__
   35 #define __IPin_FWD_DEFINED__
   36 #define __IEnumPins_FWD_DEFINED__
   37 #define __IEnumMediaTypes_FWD_DEFINED__
   38 #define __IFilterGraph_FWD_DEFINED__
   39 #define __IEnumFilters_FWD_DEFINED__
   40 #define __IMediaFilter_FWD_DEFINED__
   41 #define __IBaseFilter_FWD_DEFINED__
   42 #define __IReferenceClock_FWD_DEFINED__
   43 #define __IReferenceClockTimerControl_FWD_DEFINED__
   44 #define __IReferenceClock2_FWD_DEFINED__
   45 #define __IMediaSample_FWD_DEFINED__
   46 #define __IMediaSample2_FWD_DEFINED__
   47 #define __IMediaSample2Config_FWD_DEFINED__
   48 #define __IMemAllocator_FWD_DEFINED__
   49 #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
   50 #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
   51 #define __IMemInputPin_FWD_DEFINED__
   52 #define __IAMovieSetup_FWD_DEFINED__
   53 #define __IMediaSeeking_FWD_DEFINED__
   54 #define __IEnumRegFilters_FWD_DEFINED__
   55 #define __IFilterMapper_FWD_DEFINED__
   56 #define __IFilterMapper2_FWD_DEFINED__
   57 #define __IFilterMapper3_FWD_DEFINED__
   58 #define __IQualityControl_FWD_DEFINED__
   59 #define __IOverlayNotify_FWD_DEFINED__
   60 #define __IOverlayNotify2_FWD_DEFINED__
   61 #define __IOverlay_FWD_DEFINED__
   62 #define __IMediaEventSink_FWD_DEFINED__
   63 #define __IFileSourceFilter_FWD_DEFINED__
   64 #define __IFileSinkFilter_FWD_DEFINED__
   65 #define __IFileSinkFilter2_FWD_DEFINED__
   66 #define __IGraphBuilder_FWD_DEFINED__
   67 #define __ICaptureGraphBuilder_FWD_DEFINED__
   68 #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
   69 #define __ICaptureGraphBuilder2_FWD_DEFINED__
   70 #define __IConfigAviMux_FWD_DEFINED__
   71 #define __IConfigInterleaving_FWD_DEFINED__
   72 #define __IAMClockSlave_FWD_DEFINED__
   73 #define __IAMCertifiedOutputProtection_FWD_DEFINED__
   74 #define __IFilterGraph2_FWD_DEFINED__
   75 #define __IStreamBuilder_FWD_DEFINED__
   76 #define __IAMStreamConfig_FWD_DEFINED__
   77 #define __IAMVideoProcAmp_FWD_DEFINED__
   78 #define __IAsyncReader_FWD_DEFINED__
   79 #define __IGraphVersion_FWD_DEFINED__
   80 #define __IResourceConsumer_FWD_DEFINED__
   81 #define __IResourceManager_FWD_DEFINED__
   82 #define __IAMStreamControl_FWD_DEFINED__
   83 #define __IKsPropertySet_FWD_DEFINED__
   84 #define __IMediaPropertyBag_FWD_DEFINED__
   85 #define __IPersistMediaPropertyBag_FWD_DEFINED__
   86 #define __ISeekingPassThru_FWD_DEFINED__
   87 #define __IAMFilterMiscFlags_FWD_DEFINED__
   88 #define __IAMGraphBuilderCallback_FWD_DEFINED__
   89 const CDEF_CLASS_DEFAULT = &h1
   90 const CDEF_BYPASS_CLASS_MANAGER = &h2
   91 const CDEF_MERIT_ABOVE_DO_NOT_USE = &h8
   92 const CDEF_DEVMON_CMGR_DEVICE = &h10
   93 const CDEF_DEVMON_DMO = &h20
   94 const CDEF_DEVMON_PNP_DEVICE = &h40
   95 const CDEF_DEVMON_FILTER = &h80
   96 const CDEF_DEVMON_SELECTIVE_MASK = &hf0
   97 #define __ICreateDevEnum_INTERFACE_DEFINED__
   98 extern IID_ICreateDevEnum as const GUID
   99 type ICreateDevEnum as ICreateDevEnum_
  100 
  101 type ICreateDevEnumVtbl
  102     QueryInterface as function(byval This as ICreateDevEnum ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  103     AddRef as function(byval This as ICreateDevEnum ptr) as ULONG
  104     Release as function(byval This as ICreateDevEnum ptr) as ULONG
  105     CreateClassEnumerator as function(byval This as ICreateDevEnum ptr, byval clsidDeviceClass as const IID const ptr, byval ppEnumMoniker as IEnumMoniker ptr ptr, byval dwFlags as DWORD) as HRESULT
  106 end type
  107 
  108 type ICreateDevEnum_
  109     lpVtbl as ICreateDevEnumVtbl ptr
  110 end type
  111 
  112 #define ICreateDevEnum_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  113 #define ICreateDevEnum_AddRef(This) (This)->lpVtbl->AddRef(This)
  114 #define ICreateDevEnum_Release(This) (This)->lpVtbl->Release(This)
  115 #define ICreateDevEnum_CreateClassEnumerator(This, clsidDeviceClass, ppEnumMoniker, dwFlags) (This)->lpVtbl->CreateClassEnumerator(This, clsidDeviceClass, ppEnumMoniker, dwFlags)
  116 declare function ICreateDevEnum_CreateClassEnumerator_Proxy(byval This as ICreateDevEnum ptr, byval clsidDeviceClass as const IID const ptr, byval ppEnumMoniker as IEnumMoniker ptr ptr, byval dwFlags as DWORD) as HRESULT
  117 declare sub ICreateDevEnum_CreateClassEnumerator_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  118 const CHARS_IN_GUID = 39
  119 
  120 type _AMMediaType
  121     majortype as GUID
  122     subtype as GUID
  123     bFixedSizeSamples as WINBOOL
  124     bTemporalCompression as WINBOOL
  125     lSampleSize as ULONG
  126     formattype as GUID
  127     pUnk as IUnknown ptr
  128     cbFormat as ULONG
  129     pbFormat as UBYTE ptr
  130 end type
  131 
  132 type AM_MEDIA_TYPE as _AMMediaType
  133 
  134 type _PinDirection as long
  135 enum
  136     PINDIR_INPUT = 0
  137     PINDIR_OUTPUT = 1
  138 end enum
  139 
  140 type PIN_DIRECTION as _PinDirection
  141 const MAX_PIN_NAME = 128
  142 const MAX_FILTER_NAME = 128
  143 #define REFERENCE_TIME_DEFINED
  144 
  145 type REFERENCE_TIME as LONGLONG
  146 type HSEMAPHORE as DWORD_PTR
  147 type HEVENT as DWORD_PTR
  148 
  149 type _AllocatorProperties
  150     cBuffers as LONG
  151     cbBuffer as LONG
  152     cbAlign as LONG
  153     cbPrefix as LONG
  154 end type
  155 
  156 type ALLOCATOR_PROPERTIES as _AllocatorProperties
  157 #define __IPin_INTERFACE_DEFINED__
  158 type IBaseFilter as IBaseFilter_
  159 
  160 type _PinInfo
  161     pFilter as IBaseFilter ptr
  162     dir as PIN_DIRECTION
  163     achName as wstring * 128
  164 end type
  165 
  166 type PIN_INFO as _PinInfo
  167 extern IID_IPin as const GUID
  168 type IPin as IPin_
  169 type IEnumMediaTypes as IEnumMediaTypes_
  170 
  171 type IPinVtbl
  172     QueryInterface as function(byval This as IPin ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  173     AddRef as function(byval This as IPin ptr) as ULONG
  174     Release as function(byval This as IPin ptr) as ULONG
  175     Connect as function(byval This as IPin ptr, byval pReceivePin as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
  176     ReceiveConnection as function(byval This as IPin ptr, byval pConnector as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
  177     Disconnect as function(byval This as IPin ptr) as HRESULT
  178     ConnectedTo as function(byval This as IPin ptr, byval pPin as IPin ptr ptr) as HRESULT
  179     ConnectionMediaType as function(byval This as IPin ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
  180     QueryPinInfo as function(byval This as IPin ptr, byval pInfo as PIN_INFO ptr) as HRESULT
  181     QueryDirection as function(byval This as IPin ptr, byval pPinDir as PIN_DIRECTION ptr) as HRESULT
  182     QueryId as function(byval This as IPin ptr, byval Id as LPWSTR ptr) as HRESULT
  183     QueryAccept as function(byval This as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
  184     EnumMediaTypes as function(byval This as IPin ptr, byval ppEnum as IEnumMediaTypes ptr ptr) as HRESULT
  185     QueryInternalConnections as function(byval This as IPin ptr, byval apPin as IPin ptr ptr, byval nPin as ULONG ptr) as HRESULT
  186     EndOfStream as function(byval This as IPin ptr) as HRESULT
  187     BeginFlush as function(byval This as IPin ptr) as HRESULT
  188     EndFlush as function(byval This as IPin ptr) as HRESULT
  189     NewSegment as function(byval This as IPin ptr, byval tStart as REFERENCE_TIME, byval tStop as REFERENCE_TIME, byval dRate as double) as HRESULT
  190 end type
  191 
  192 type IPin_
  193     lpVtbl as IPinVtbl ptr
  194 end type
  195 
  196 #define IPin_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  197 #define IPin_AddRef(This) (This)->lpVtbl->AddRef(This)
  198 #define IPin_Release(This) (This)->lpVtbl->Release(This)
  199 #define IPin_Connect(This, pReceivePin, pmt) (This)->lpVtbl->Connect(This, pReceivePin, pmt)
  200 #define IPin_ReceiveConnection(This, pConnector, pmt) (This)->lpVtbl->ReceiveConnection(This, pConnector, pmt)
  201 #define IPin_Disconnect(This) (This)->lpVtbl->Disconnect(This)
  202 #define IPin_ConnectedTo(This, pPin) (This)->lpVtbl->ConnectedTo(This, pPin)
  203 #define IPin_ConnectionMediaType(This, pmt) (This)->lpVtbl->ConnectionMediaType(This, pmt)
  204 #define IPin_QueryPinInfo(This, pInfo) (This)->lpVtbl->QueryPinInfo(This, pInfo)
  205 #define IPin_QueryDirection(This, pPinDir) (This)->lpVtbl->QueryDirection(This, pPinDir)
  206 #define IPin_QueryId(This, Id) (This)->lpVtbl->QueryId(This, Id)
  207 #define IPin_QueryAccept(This, pmt) (This)->lpVtbl->QueryAccept(This, pmt)
  208 #define IPin_EnumMediaTypes(This, ppEnum) (This)->lpVtbl->EnumMediaTypes(This, ppEnum)
  209 #define IPin_QueryInternalConnections(This, apPin, nPin) (This)->lpVtbl->QueryInternalConnections(This, apPin, nPin)
  210 #define IPin_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
  211 #define IPin_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
  212 #define IPin_EndFlush(This) (This)->lpVtbl->EndFlush(This)
  213 #define IPin_NewSegment(This, tStart, tStop, dRate) (This)->lpVtbl->NewSegment(This, tStart, tStop, dRate)
  214 
  215 declare function IPin_Connect_Proxy(byval This as IPin ptr, byval pReceivePin as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
  216 declare sub IPin_Connect_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  217 declare function IPin_ReceiveConnection_Proxy(byval This as IPin ptr, byval pConnector as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
  218 declare sub IPin_ReceiveConnection_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  219 declare function IPin_Disconnect_Proxy(byval This as IPin ptr) as HRESULT
  220 declare sub IPin_Disconnect_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  221 declare function IPin_ConnectedTo_Proxy(byval This as IPin ptr, byval pPin as IPin ptr ptr) as HRESULT
  222 declare sub IPin_ConnectedTo_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  223 declare function IPin_ConnectionMediaType_Proxy(byval This as IPin ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
  224 declare sub IPin_ConnectionMediaType_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  225 declare function IPin_QueryPinInfo_Proxy(byval This as IPin ptr, byval pInfo as PIN_INFO ptr) as HRESULT
  226 declare sub IPin_QueryPinInfo_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  227 declare function IPin_QueryDirection_Proxy(byval This as IPin ptr, byval pPinDir as PIN_DIRECTION ptr) as HRESULT
  228 declare sub IPin_QueryDirection_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  229 declare function IPin_QueryId_Proxy(byval This as IPin ptr, byval Id as LPWSTR ptr) as HRESULT
  230 declare sub IPin_QueryId_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  231 declare function IPin_QueryAccept_Proxy(byval This as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
  232 declare sub IPin_QueryAccept_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  233 declare function IPin_EnumMediaTypes_Proxy(byval This as IPin ptr, byval ppEnum as IEnumMediaTypes ptr ptr) as HRESULT
  234 declare sub IPin_EnumMediaTypes_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  235 declare function IPin_QueryInternalConnections_Proxy(byval This as IPin ptr, byval apPin as IPin ptr ptr, byval nPin as ULONG ptr) as HRESULT
  236 declare sub IPin_QueryInternalConnections_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  237 declare function IPin_EndOfStream_Proxy(byval This as IPin ptr) as HRESULT
  238 declare sub IPin_EndOfStream_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  239 declare function IPin_BeginFlush_Proxy(byval This as IPin ptr) as HRESULT
  240 declare sub IPin_BeginFlush_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  241 declare function IPin_EndFlush_Proxy(byval This as IPin ptr) as HRESULT
  242 declare sub IPin_EndFlush_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  243 declare function IPin_NewSegment_Proxy(byval This as IPin ptr, byval tStart as REFERENCE_TIME, byval tStop as REFERENCE_TIME, byval dRate as double) as HRESULT
  244 declare sub IPin_NewSegment_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  245 type PPIN as IPin ptr
  246 #define __IEnumPins_INTERFACE_DEFINED__
  247 extern IID_IEnumPins as const GUID
  248 type IEnumPins as IEnumPins_
  249 
  250 type IEnumPinsVtbl
  251     QueryInterface as function(byval This as IEnumPins ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  252     AddRef as function(byval This as IEnumPins ptr) as ULONG
  253     Release as function(byval This as IEnumPins ptr) as ULONG
  254     Next as function(byval This as IEnumPins ptr, byval cPins as ULONG, byval ppPins as IPin ptr ptr, byval pcFetched as ULONG ptr) as HRESULT
  255     Skip as function(byval This as IEnumPins ptr, byval cPins as ULONG) as HRESULT
  256     Reset as function(byval This as IEnumPins ptr) as HRESULT
  257     Clone as function(byval This as IEnumPins ptr, byval ppEnum as IEnumPins ptr ptr) as HRESULT
  258 end type
  259 
  260 type IEnumPins_
  261     lpVtbl as IEnumPinsVtbl ptr
  262 end type
  263 
  264 #define IEnumPins_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  265 #define IEnumPins_AddRef(This) (This)->lpVtbl->AddRef(This)
  266 #define IEnumPins_Release(This) (This)->lpVtbl->Release(This)
  267 #define IEnumPins_Next(This, cPins, ppPins, pcFetched) (This)->lpVtbl->Next(This, cPins, ppPins, pcFetched)
  268 #define IEnumPins_Skip(This, cPins) (This)->lpVtbl->Skip(This, cPins)
  269 #define IEnumPins_Reset(This) (This)->lpVtbl->Reset(This)
  270 #define IEnumPins_Clone(This, ppEnum) (This)->lpVtbl->Clone(This, ppEnum)
  271 
  272 declare function IEnumPins_Next_Proxy(byval This as IEnumPins ptr, byval cPins as ULONG, byval ppPins as IPin ptr ptr, byval pcFetched as ULONG ptr) as HRESULT
  273 declare sub IEnumPins_Next_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  274 declare function IEnumPins_Skip_Proxy(byval This as IEnumPins ptr, byval cPins as ULONG) as HRESULT
  275 declare sub IEnumPins_Skip_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  276 declare function IEnumPins_Reset_Proxy(byval This as IEnumPins ptr) as HRESULT
  277 declare sub IEnumPins_Reset_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  278 declare function IEnumPins_Clone_Proxy(byval This as IEnumPins ptr, byval ppEnum as IEnumPins ptr ptr) as HRESULT
  279 declare sub IEnumPins_Clone_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  280 type PENUMPINS as IEnumPins ptr
  281 #define __IEnumMediaTypes_INTERFACE_DEFINED__
  282 extern IID_IEnumMediaTypes as const GUID
  283 
  284 type IEnumMediaTypesVtbl
  285     QueryInterface as function(byval This as IEnumMediaTypes ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  286     AddRef as function(byval This as IEnumMediaTypes ptr) as ULONG
  287     Release as function(byval This as IEnumMediaTypes ptr) as ULONG
  288     Next as function(byval This as IEnumMediaTypes ptr, byval cMediaTypes as ULONG, byval ppMediaTypes as AM_MEDIA_TYPE ptr ptr, byval pcFetched as ULONG ptr) as HRESULT
  289     Skip as function(byval This as IEnumMediaTypes ptr, byval cMediaTypes as ULONG) as HRESULT
  290     Reset as function(byval This as IEnumMediaTypes ptr) as HRESULT
  291     Clone as function(byval This as IEnumMediaTypes ptr, byval ppEnum as IEnumMediaTypes ptr ptr) as HRESULT
  292 end type
  293 
  294 type IEnumMediaTypes_
  295     lpVtbl as IEnumMediaTypesVtbl ptr
  296 end type
  297 
  298 #define IEnumMediaTypes_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  299 #define IEnumMediaTypes_AddRef(This) (This)->lpVtbl->AddRef(This)
  300 #define IEnumMediaTypes_Release(This) (This)->lpVtbl->Release(This)
  301 #define IEnumMediaTypes_Next(This, cMediaTypes, ppMediaTypes, pcFetched) (This)->lpVtbl->Next(This, cMediaTypes, ppMediaTypes, pcFetched)
  302 #define IEnumMediaTypes_Skip(This, cMediaTypes) (This)->lpVtbl->Skip(This, cMediaTypes)
  303 #define IEnumMediaTypes_Reset(This) (This)->lpVtbl->Reset(This)
  304 #define IEnumMediaTypes_Clone(This, ppEnum) (This)->lpVtbl->Clone(This, ppEnum)
  305 
  306 declare function IEnumMediaTypes_Next_Proxy(byval This as IEnumMediaTypes ptr, byval cMediaTypes as ULONG, byval ppMediaTypes as AM_MEDIA_TYPE ptr ptr, byval pcFetched as ULONG ptr) as HRESULT
  307 declare sub IEnumMediaTypes_Next_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  308 declare function IEnumMediaTypes_Skip_Proxy(byval This as IEnumMediaTypes ptr, byval cMediaTypes as ULONG) as HRESULT
  309 declare sub IEnumMediaTypes_Skip_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  310 declare function IEnumMediaTypes_Reset_Proxy(byval This as IEnumMediaTypes ptr) as HRESULT
  311 declare sub IEnumMediaTypes_Reset_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  312 declare function IEnumMediaTypes_Clone_Proxy(byval This as IEnumMediaTypes ptr, byval ppEnum as IEnumMediaTypes ptr ptr) as HRESULT
  313 declare sub IEnumMediaTypes_Clone_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  314 type PENUMMEDIATYPES as IEnumMediaTypes ptr
  315 #define __IFilterGraph_INTERFACE_DEFINED__
  316 extern IID_IFilterGraph as const GUID
  317 type IFilterGraph as IFilterGraph_
  318 type IEnumFilters as IEnumFilters_
  319 
  320 type IFilterGraphVtbl
  321     QueryInterface as function(byval This as IFilterGraph ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  322     AddRef as function(byval This as IFilterGraph ptr) as ULONG
  323     Release as function(byval This as IFilterGraph ptr) as ULONG
  324     AddFilter as function(byval This as IFilterGraph ptr, byval pFilter as IBaseFilter ptr, byval pName as LPCWSTR) as HRESULT
  325     RemoveFilter as function(byval This as IFilterGraph ptr, byval pFilter as IBaseFilter ptr) as HRESULT
  326     EnumFilters as function(byval This as IFilterGraph ptr, byval ppEnum as IEnumFilters ptr ptr) as HRESULT
  327     FindFilterByName as function(byval This as IFilterGraph ptr, byval pName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
  328     ConnectDirect as function(byval This as IFilterGraph ptr, byval ppinOut as IPin ptr, byval ppinIn as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
  329     Reconnect as function(byval This as IFilterGraph ptr, byval ppin as IPin ptr) as HRESULT
  330     Disconnect as function(byval This as IFilterGraph ptr, byval ppin as IPin ptr) as HRESULT
  331     SetDefaultSyncSource as function(byval This as IFilterGraph ptr) as HRESULT
  332 end type
  333 
  334 type IFilterGraph_
  335     lpVtbl as IFilterGraphVtbl ptr
  336 end type
  337 
  338 #define IFilterGraph_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  339 #define IFilterGraph_AddRef(This) (This)->lpVtbl->AddRef(This)
  340 #define IFilterGraph_Release(This) (This)->lpVtbl->Release(This)
  341 #define IFilterGraph_AddFilter(This, pFilter, pName) (This)->lpVtbl->AddFilter(This, pFilter, pName)
  342 #define IFilterGraph_RemoveFilter(This, pFilter) (This)->lpVtbl->RemoveFilter(This, pFilter)
  343 #define IFilterGraph_EnumFilters(This, ppEnum) (This)->lpVtbl->EnumFilters(This, ppEnum)
  344 #define IFilterGraph_FindFilterByName(This, pName, ppFilter) (This)->lpVtbl->FindFilterByName(This, pName, ppFilter)
  345 #define IFilterGraph_ConnectDirect(This, ppinOut, ppinIn, pmt) (This)->lpVtbl->ConnectDirect(This, ppinOut, ppinIn, pmt)
  346 #define IFilterGraph_Reconnect(This, ppin) (This)->lpVtbl->Reconnect(This, ppin)
  347 #define IFilterGraph_Disconnect(This, ppin) (This)->lpVtbl->Disconnect(This, ppin)
  348 #define IFilterGraph_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
  349 
  350 declare function IFilterGraph_AddFilter_Proxy(byval This as IFilterGraph ptr, byval pFilter as IBaseFilter ptr, byval pName as LPCWSTR) as HRESULT
  351 declare sub IFilterGraph_AddFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  352 declare function IFilterGraph_RemoveFilter_Proxy(byval This as IFilterGraph ptr, byval pFilter as IBaseFilter ptr) as HRESULT
  353 declare sub IFilterGraph_RemoveFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  354 declare function IFilterGraph_EnumFilters_Proxy(byval This as IFilterGraph ptr, byval ppEnum as IEnumFilters ptr ptr) as HRESULT
  355 declare sub IFilterGraph_EnumFilters_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  356 declare function IFilterGraph_FindFilterByName_Proxy(byval This as IFilterGraph ptr, byval pName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
  357 declare sub IFilterGraph_FindFilterByName_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  358 declare function IFilterGraph_ConnectDirect_Proxy(byval This as IFilterGraph ptr, byval ppinOut as IPin ptr, byval ppinIn as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
  359 declare sub IFilterGraph_ConnectDirect_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  360 declare function IFilterGraph_Reconnect_Proxy(byval This as IFilterGraph ptr, byval ppin as IPin ptr) as HRESULT
  361 declare sub IFilterGraph_Reconnect_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  362 declare function IFilterGraph_Disconnect_Proxy(byval This as IFilterGraph ptr, byval ppin as IPin ptr) as HRESULT
  363 declare sub IFilterGraph_Disconnect_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  364 declare function IFilterGraph_SetDefaultSyncSource_Proxy(byval This as IFilterGraph ptr) as HRESULT
  365 declare sub IFilterGraph_SetDefaultSyncSource_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  366 type PFILTERGRAPH as IFilterGraph ptr
  367 #define __IEnumFilters_INTERFACE_DEFINED__
  368 extern IID_IEnumFilters as const GUID
  369 
  370 type IEnumFiltersVtbl
  371     QueryInterface as function(byval This as IEnumFilters ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  372     AddRef as function(byval This as IEnumFilters ptr) as ULONG
  373     Release as function(byval This as IEnumFilters ptr) as ULONG
  374     Next as function(byval This as IEnumFilters ptr, byval cFilters as ULONG, byval ppFilter as IBaseFilter ptr ptr, byval pcFetched as ULONG ptr) as HRESULT
  375     Skip as function(byval This as IEnumFilters ptr, byval cFilters as ULONG) as HRESULT
  376     Reset as function(byval This as IEnumFilters ptr) as HRESULT
  377     Clone as function(byval This as IEnumFilters ptr, byval ppEnum as IEnumFilters ptr ptr) as HRESULT
  378 end type
  379 
  380 type IEnumFilters_
  381     lpVtbl as IEnumFiltersVtbl ptr
  382 end type
  383 
  384 #define IEnumFilters_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  385 #define IEnumFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
  386 #define IEnumFilters_Release(This) (This)->lpVtbl->Release(This)
  387 #define IEnumFilters_Next(This, cFilters, ppFilter, pcFetched) (This)->lpVtbl->Next(This, cFilters, ppFilter, pcFetched)
  388 #define IEnumFilters_Skip(This, cFilters) (This)->lpVtbl->Skip(This, cFilters)
  389 #define IEnumFilters_Reset(This) (This)->lpVtbl->Reset(This)
  390 #define IEnumFilters_Clone(This, ppEnum) (This)->lpVtbl->Clone(This, ppEnum)
  391 
  392 declare function IEnumFilters_Next_Proxy(byval This as IEnumFilters ptr, byval cFilters as ULONG, byval ppFilter as IBaseFilter ptr ptr, byval pcFetched as ULONG ptr) as HRESULT
  393 declare sub IEnumFilters_Next_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  394 declare function IEnumFilters_Skip_Proxy(byval This as IEnumFilters ptr, byval cFilters as ULONG) as HRESULT
  395 declare sub IEnumFilters_Skip_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  396 declare function IEnumFilters_Reset_Proxy(byval This as IEnumFilters ptr) as HRESULT
  397 declare sub IEnumFilters_Reset_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  398 declare function IEnumFilters_Clone_Proxy(byval This as IEnumFilters ptr, byval ppEnum as IEnumFilters ptr ptr) as HRESULT
  399 declare sub IEnumFilters_Clone_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  400 type PENUMFILTERS as IEnumFilters ptr
  401 #define __IMediaFilter_INTERFACE_DEFINED__
  402 
  403 type _FilterState as long
  404 enum
  405     State_Stopped = 0
  406     State_Paused = 1
  407     State_Running = 2
  408 end enum
  409 
  410 type FILTER_STATE as _FilterState
  411 extern IID_IMediaFilter as const GUID
  412 type IMediaFilter as IMediaFilter_
  413 type IReferenceClock as IReferenceClock_
  414 
  415 type IMediaFilterVtbl
  416     QueryInterface as function(byval This as IMediaFilter ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  417     AddRef as function(byval This as IMediaFilter ptr) as ULONG
  418     Release as function(byval This as IMediaFilter ptr) as ULONG
  419     GetClassID as function(byval This as IMediaFilter ptr, byval pClassID as CLSID ptr) as HRESULT
  420     Stop as function(byval This as IMediaFilter ptr) as HRESULT
  421     Pause as function(byval This as IMediaFilter ptr) as HRESULT
  422     Run as function(byval This as IMediaFilter ptr, byval tStart as REFERENCE_TIME) as HRESULT
  423     GetState as function(byval This as IMediaFilter ptr, byval dwMilliSecsTimeout as DWORD, byval State as FILTER_STATE ptr) as HRESULT
  424     SetSyncSource as function(byval This as IMediaFilter ptr, byval pClock as IReferenceClock ptr) as HRESULT
  425     GetSyncSource as function(byval This as IMediaFilter ptr, byval pClock as IReferenceClock ptr ptr) as HRESULT
  426 end type
  427 
  428 type IMediaFilter_
  429     lpVtbl as IMediaFilterVtbl ptr
  430 end type
  431 
  432 #define IMediaFilter_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  433 #define IMediaFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
  434 #define IMediaFilter_Release(This) (This)->lpVtbl->Release(This)
  435 #define IMediaFilter_GetClassID(This, pClassID) (This)->lpVtbl->GetClassID(This, pClassID)
  436 #define IMediaFilter_Stop(This) (This)->lpVtbl->Stop(This)
  437 #define IMediaFilter_Pause(This) (This)->lpVtbl->Pause(This)
  438 #define IMediaFilter_Run(This, tStart) (This)->lpVtbl->Run(This, tStart)
  439 #define IMediaFilter_GetState(This, dwMilliSecsTimeout, State) (This)->lpVtbl->GetState(This, dwMilliSecsTimeout, State)
  440 #define IMediaFilter_SetSyncSource(This, pClock) (This)->lpVtbl->SetSyncSource(This, pClock)
  441 #define IMediaFilter_GetSyncSource(This, pClock) (This)->lpVtbl->GetSyncSource(This, pClock)
  442 
  443 declare function IMediaFilter_Stop_Proxy(byval This as IMediaFilter ptr) as HRESULT
  444 declare sub IMediaFilter_Stop_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  445 declare function IMediaFilter_Pause_Proxy(byval This as IMediaFilter ptr) as HRESULT
  446 declare sub IMediaFilter_Pause_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  447 declare function IMediaFilter_Run_Proxy(byval This as IMediaFilter ptr, byval tStart as REFERENCE_TIME) as HRESULT
  448 declare sub IMediaFilter_Run_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  449 declare function IMediaFilter_GetState_Proxy(byval This as IMediaFilter ptr, byval dwMilliSecsTimeout as DWORD, byval State as FILTER_STATE ptr) as HRESULT
  450 declare sub IMediaFilter_GetState_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  451 declare function IMediaFilter_SetSyncSource_Proxy(byval This as IMediaFilter ptr, byval pClock as IReferenceClock ptr) as HRESULT
  452 declare sub IMediaFilter_SetSyncSource_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  453 declare function IMediaFilter_GetSyncSource_Proxy(byval This as IMediaFilter ptr, byval pClock as IReferenceClock ptr ptr) as HRESULT
  454 declare sub IMediaFilter_GetSyncSource_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  455 type PMEDIAFILTER as IMediaFilter ptr
  456 #define __IBaseFilter_INTERFACE_DEFINED__
  457 
  458 type _FilterInfo
  459     achName as wstring * 128
  460     pGraph as IFilterGraph ptr
  461 end type
  462 
  463 type FILTER_INFO as _FilterInfo
  464 extern IID_IBaseFilter as const GUID
  465 
  466 type IBaseFilterVtbl
  467     QueryInterface as function(byval This as IBaseFilter ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  468     AddRef as function(byval This as IBaseFilter ptr) as ULONG
  469     Release as function(byval This as IBaseFilter ptr) as ULONG
  470     GetClassID as function(byval This as IBaseFilter ptr, byval pClassID as CLSID ptr) as HRESULT
  471     Stop as function(byval This as IBaseFilter ptr) as HRESULT
  472     Pause as function(byval This as IBaseFilter ptr) as HRESULT
  473     Run as function(byval This as IBaseFilter ptr, byval tStart as REFERENCE_TIME) as HRESULT
  474     GetState as function(byval This as IBaseFilter ptr, byval dwMilliSecsTimeout as DWORD, byval State as FILTER_STATE ptr) as HRESULT
  475     SetSyncSource as function(byval This as IBaseFilter ptr, byval pClock as IReferenceClock ptr) as HRESULT
  476     GetSyncSource as function(byval This as IBaseFilter ptr, byval pClock as IReferenceClock ptr ptr) as HRESULT
  477     EnumPins as function(byval This as IBaseFilter ptr, byval ppEnum as IEnumPins ptr ptr) as HRESULT
  478     FindPin as function(byval This as IBaseFilter ptr, byval Id as LPCWSTR, byval ppPin as IPin ptr ptr) as HRESULT
  479     QueryFilterInfo as function(byval This as IBaseFilter ptr, byval pInfo as FILTER_INFO ptr) as HRESULT
  480     JoinFilterGraph as function(byval This as IBaseFilter ptr, byval pGraph as IFilterGraph ptr, byval pName as LPCWSTR) as HRESULT
  481     QueryVendorInfo as function(byval This as IBaseFilter ptr, byval pVendorInfo as LPWSTR ptr) as HRESULT
  482 end type
  483 
  484 type IBaseFilter_
  485     lpVtbl as IBaseFilterVtbl ptr
  486 end type
  487 
  488 #define IBaseFilter_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  489 #define IBaseFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
  490 #define IBaseFilter_Release(This) (This)->lpVtbl->Release(This)
  491 #define IBaseFilter_GetClassID(This, pClassID) (This)->lpVtbl->GetClassID(This, pClassID)
  492 #define IBaseFilter_Stop(This) (This)->lpVtbl->Stop(This)
  493 #define IBaseFilter_Pause(This) (This)->lpVtbl->Pause(This)
  494 #define IBaseFilter_Run(This, tStart) (This)->lpVtbl->Run(This, tStart)
  495 #define IBaseFilter_GetState(This, dwMilliSecsTimeout, State) (This)->lpVtbl->GetState(This, dwMilliSecsTimeout, State)
  496 #define IBaseFilter_SetSyncSource(This, pClock) (This)->lpVtbl->SetSyncSource(This, pClock)
  497 #define IBaseFilter_GetSyncSource(This, pClock) (This)->lpVtbl->GetSyncSource(This, pClock)
  498 #define IBaseFilter_EnumPins(This, ppEnum) (This)->lpVtbl->EnumPins(This, ppEnum)
  499 #define IBaseFilter_FindPin(This, Id, ppPin) (This)->lpVtbl->FindPin(This, Id, ppPin)
  500 #define IBaseFilter_QueryFilterInfo(This, pInfo) (This)->lpVtbl->QueryFilterInfo(This, pInfo)
  501 #define IBaseFilter_JoinFilterGraph(This, pGraph, pName) (This)->lpVtbl->JoinFilterGraph(This, pGraph, pName)
  502 #define IBaseFilter_QueryVendorInfo(This, pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This, pVendorInfo)
  503 
  504 declare function IBaseFilter_EnumPins_Proxy(byval This as IBaseFilter ptr, byval ppEnum as IEnumPins ptr ptr) as HRESULT
  505 declare sub IBaseFilter_EnumPins_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  506 declare function IBaseFilter_FindPin_Proxy(byval This as IBaseFilter ptr, byval Id as LPCWSTR, byval ppPin as IPin ptr ptr) as HRESULT
  507 declare sub IBaseFilter_FindPin_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  508 declare function IBaseFilter_QueryFilterInfo_Proxy(byval This as IBaseFilter ptr, byval pInfo as FILTER_INFO ptr) as HRESULT
  509 declare sub IBaseFilter_QueryFilterInfo_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  510 declare function IBaseFilter_JoinFilterGraph_Proxy(byval This as IBaseFilter ptr, byval pGraph as IFilterGraph ptr, byval pName as LPCWSTR) as HRESULT
  511 declare sub IBaseFilter_JoinFilterGraph_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  512 declare function IBaseFilter_QueryVendorInfo_Proxy(byval This as IBaseFilter ptr, byval pVendorInfo as LPWSTR ptr) as HRESULT
  513 declare sub IBaseFilter_QueryVendorInfo_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  514 type PFILTER as IBaseFilter ptr
  515 #define __IReferenceClock_INTERFACE_DEFINED__
  516 extern IID_IReferenceClock as const GUID
  517 
  518 type IReferenceClockVtbl
  519     QueryInterface as function(byval This as IReferenceClock ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  520     AddRef as function(byval This as IReferenceClock ptr) as ULONG
  521     Release as function(byval This as IReferenceClock ptr) as ULONG
  522     GetTime as function(byval This as IReferenceClock ptr, byval pTime as REFERENCE_TIME ptr) as HRESULT
  523     AdviseTime as function(byval This as IReferenceClock ptr, byval baseTime as REFERENCE_TIME, byval streamTime as REFERENCE_TIME, byval hEvent as HEVENT, byval pdwAdviseCookie as DWORD_PTR ptr) as HRESULT
  524     AdvisePeriodic as function(byval This as IReferenceClock ptr, byval startTime as REFERENCE_TIME, byval periodTime as REFERENCE_TIME, byval hSemaphore as HSEMAPHORE, byval pdwAdviseCookie as DWORD_PTR ptr) as HRESULT
  525     Unadvise as function(byval This as IReferenceClock ptr, byval dwAdviseCookie as DWORD_PTR) as HRESULT
  526 end type
  527 
  528 type IReferenceClock_
  529     lpVtbl as IReferenceClockVtbl ptr
  530 end type
  531 
  532 #define IReferenceClock_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  533 #define IReferenceClock_AddRef(This) (This)->lpVtbl->AddRef(This)
  534 #define IReferenceClock_Release(This) (This)->lpVtbl->Release(This)
  535 #define IReferenceClock_GetTime(This, pTime) (This)->lpVtbl->GetTime(This, pTime)
  536 #define IReferenceClock_AdviseTime(This, baseTime, streamTime, hEvent, pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This, baseTime, streamTime, hEvent, pdwAdviseCookie)
  537 #define IReferenceClock_AdvisePeriodic(This, startTime, periodTime, hSemaphore, pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This, startTime, periodTime, hSemaphore, pdwAdviseCookie)
  538 #define IReferenceClock_Unadvise(This, dwAdviseCookie) (This)->lpVtbl->Unadvise(This, dwAdviseCookie)
  539 
  540 declare function IReferenceClock_GetTime_Proxy(byval This as IReferenceClock ptr, byval pTime as REFERENCE_TIME ptr) as HRESULT
  541 declare sub IReferenceClock_GetTime_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  542 declare function IReferenceClock_AdviseTime_Proxy(byval This as IReferenceClock ptr, byval baseTime as REFERENCE_TIME, byval streamTime as REFERENCE_TIME, byval hEvent as HEVENT, byval pdwAdviseCookie as DWORD_PTR ptr) as HRESULT
  543 declare sub IReferenceClock_AdviseTime_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  544 declare function IReferenceClock_AdvisePeriodic_Proxy(byval This as IReferenceClock ptr, byval startTime as REFERENCE_TIME, byval periodTime as REFERENCE_TIME, byval hSemaphore as HSEMAPHORE, byval pdwAdviseCookie as DWORD_PTR ptr) as HRESULT
  545 declare sub IReferenceClock_AdvisePeriodic_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  546 declare function IReferenceClock_Unadvise_Proxy(byval This as IReferenceClock ptr, byval dwAdviseCookie as DWORD_PTR) as HRESULT
  547 declare sub IReferenceClock_Unadvise_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  548 type PREFERENCECLOCK as IReferenceClock ptr
  549 #define __IReferenceClockTimerControl_INTERFACE_DEFINED__
  550 extern IID_IReferenceClockTimerControl as const GUID
  551 type IReferenceClockTimerControl as IReferenceClockTimerControl_
  552 
  553 type IReferenceClockTimerControlVtbl
  554     QueryInterface as function(byval This as IReferenceClockTimerControl ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  555     AddRef as function(byval This as IReferenceClockTimerControl ptr) as ULONG
  556     Release as function(byval This as IReferenceClockTimerControl ptr) as ULONG
  557     SetDefaultTimerResolution as function(byval This as IReferenceClockTimerControl ptr, byval timerResolution as REFERENCE_TIME) as HRESULT
  558     GetDefaultTimerResolution as function(byval This as IReferenceClockTimerControl ptr, byval pTimerResolution as REFERENCE_TIME ptr) as HRESULT
  559 end type
  560 
  561 type IReferenceClockTimerControl_
  562     lpVtbl as IReferenceClockTimerControlVtbl ptr
  563 end type
  564 
  565 #define IReferenceClockTimerControl_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  566 #define IReferenceClockTimerControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  567 #define IReferenceClockTimerControl_Release(This) (This)->lpVtbl->Release(This)
  568 #define IReferenceClockTimerControl_SetDefaultTimerResolution(This, timerResolution) (This)->lpVtbl->SetDefaultTimerResolution(This, timerResolution)
  569 #define IReferenceClockTimerControl_GetDefaultTimerResolution(This, pTimerResolution) (This)->lpVtbl->GetDefaultTimerResolution(This, pTimerResolution)
  570 
  571 declare function IReferenceClockTimerControl_SetDefaultTimerResolution_Proxy(byval This as IReferenceClockTimerControl ptr, byval timerResolution as REFERENCE_TIME) as HRESULT
  572 declare sub IReferenceClockTimerControl_SetDefaultTimerResolution_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  573 declare function IReferenceClockTimerControl_GetDefaultTimerResolution_Proxy(byval This as IReferenceClockTimerControl ptr, byval pTimerResolution as REFERENCE_TIME ptr) as HRESULT
  574 declare sub IReferenceClockTimerControl_GetDefaultTimerResolution_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  575 #define __IReferenceClock2_INTERFACE_DEFINED__
  576 extern IID_IReferenceClock2 as const GUID
  577 type IReferenceClock2 as IReferenceClock2_
  578 
  579 type IReferenceClock2Vtbl
  580     QueryInterface as function(byval This as IReferenceClock2 ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  581     AddRef as function(byval This as IReferenceClock2 ptr) as ULONG
  582     Release as function(byval This as IReferenceClock2 ptr) as ULONG
  583     GetTime as function(byval This as IReferenceClock2 ptr, byval pTime as REFERENCE_TIME ptr) as HRESULT
  584     AdviseTime as function(byval This as IReferenceClock2 ptr, byval baseTime as REFERENCE_TIME, byval streamTime as REFERENCE_TIME, byval hEvent as HEVENT, byval pdwAdviseCookie as DWORD_PTR ptr) as HRESULT
  585     AdvisePeriodic as function(byval This as IReferenceClock2 ptr, byval startTime as REFERENCE_TIME, byval periodTime as REFERENCE_TIME, byval hSemaphore as HSEMAPHORE, byval pdwAdviseCookie as DWORD_PTR ptr) as HRESULT
  586     Unadvise as function(byval This as IReferenceClock2 ptr, byval dwAdviseCookie as DWORD_PTR) as HRESULT
  587 end type
  588 
  589 type IReferenceClock2_
  590     lpVtbl as IReferenceClock2Vtbl ptr
  591 end type
  592 
  593 #define IReferenceClock2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  594 #define IReferenceClock2_AddRef(This) (This)->lpVtbl->AddRef(This)
  595 #define IReferenceClock2_Release(This) (This)->lpVtbl->Release(This)
  596 #define IReferenceClock2_GetTime(This, pTime) (This)->lpVtbl->GetTime(This, pTime)
  597 #define IReferenceClock2_AdviseTime(This, baseTime, streamTime, hEvent, pdwAdviseCookie) (This)->lpVtbl->AdviseTime(This, baseTime, streamTime, hEvent, pdwAdviseCookie)
  598 #define IReferenceClock2_AdvisePeriodic(This, startTime, periodTime, hSemaphore, pdwAdviseCookie) (This)->lpVtbl->AdvisePeriodic(This, startTime, periodTime, hSemaphore, pdwAdviseCookie)
  599 #define IReferenceClock2_Unadvise(This, dwAdviseCookie) (This)->lpVtbl->Unadvise(This, dwAdviseCookie)
  600 type PREFERENCECLOCK2 as IReferenceClock2 ptr
  601 #define __IMediaSample_INTERFACE_DEFINED__
  602 extern IID_IMediaSample as const GUID
  603 type IMediaSample as IMediaSample_
  604 
  605 type IMediaSampleVtbl
  606     QueryInterface as function(byval This as IMediaSample ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  607     AddRef as function(byval This as IMediaSample ptr) as ULONG
  608     Release as function(byval This as IMediaSample ptr) as ULONG
  609     GetPointer as function(byval This as IMediaSample ptr, byval ppBuffer as UBYTE ptr ptr) as HRESULT
  610     GetSize as function(byval This as IMediaSample ptr) as LONG
  611     GetTime as function(byval This as IMediaSample ptr, byval pTimeStart as REFERENCE_TIME ptr, byval pTimeEnd as REFERENCE_TIME ptr) as HRESULT
  612     SetTime as function(byval This as IMediaSample ptr, byval pTimeStart as REFERENCE_TIME ptr, byval pTimeEnd as REFERENCE_TIME ptr) as HRESULT
  613     IsSyncPoint as function(byval This as IMediaSample ptr) as HRESULT
  614     SetSyncPoint as function(byval This as IMediaSample ptr, byval bIsSyncPoint as WINBOOL) as HRESULT
  615     IsPreroll as function(byval This as IMediaSample ptr) as HRESULT
  616     SetPreroll as function(byval This as IMediaSample ptr, byval bIsPreroll as WINBOOL) as HRESULT
  617     GetActualDataLength as function(byval This as IMediaSample ptr) as LONG
  618     SetActualDataLength as function(byval This as IMediaSample ptr, byval a as LONG) as HRESULT
  619     GetMediaType as function(byval This as IMediaSample ptr, byval ppMediaType as AM_MEDIA_TYPE ptr ptr) as HRESULT
  620     SetMediaType as function(byval This as IMediaSample ptr, byval pMediaType as AM_MEDIA_TYPE ptr) as HRESULT
  621     IsDiscontinuity as function(byval This as IMediaSample ptr) as HRESULT
  622     SetDiscontinuity as function(byval This as IMediaSample ptr, byval bDiscontinuity as WINBOOL) as HRESULT
  623     GetMediaTime as function(byval This as IMediaSample ptr, byval pTimeStart as LONGLONG ptr, byval pTimeEnd as LONGLONG ptr) as HRESULT
  624     SetMediaTime as function(byval This as IMediaSample ptr, byval pTimeStart as LONGLONG ptr, byval pTimeEnd as LONGLONG ptr) as HRESULT
  625 end type
  626 
  627 type IMediaSample_
  628     lpVtbl as IMediaSampleVtbl ptr
  629 end type
  630 
  631 #define IMediaSample_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  632 #define IMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
  633 #define IMediaSample_Release(This) (This)->lpVtbl->Release(This)
  634 #define IMediaSample_GetPointer(This, ppBuffer) (This)->lpVtbl->GetPointer(This, ppBuffer)
  635 #define IMediaSample_GetSize(This) (This)->lpVtbl->GetSize(This)
  636 #define IMediaSample_GetTime(This, pTimeStart, pTimeEnd) (This)->lpVtbl->GetTime(This, pTimeStart, pTimeEnd)
  637 #define IMediaSample_SetTime(This, pTimeStart, pTimeEnd) (This)->lpVtbl->SetTime(This, pTimeStart, pTimeEnd)
  638 #define IMediaSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
  639 #define IMediaSample_SetSyncPoint(This, bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This, bIsSyncPoint)
  640 #define IMediaSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
  641 #define IMediaSample_SetPreroll(This, bIsPreroll) (This)->lpVtbl->SetPreroll(This, bIsPreroll)
  642 #define IMediaSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
  643 #define IMediaSample_SetActualDataLength(This, a) (This)->lpVtbl->SetActualDataLength(This, a)
  644 #define IMediaSample_GetMediaType(This, ppMediaType) (This)->lpVtbl->GetMediaType(This, ppMediaType)
  645 #define IMediaSample_SetMediaType(This, pMediaType) (This)->lpVtbl->SetMediaType(This, pMediaType)
  646 #define IMediaSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
  647 #define IMediaSample_SetDiscontinuity(This, bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This, bDiscontinuity)
  648 #define IMediaSample_GetMediaTime(This, pTimeStart, pTimeEnd) (This)->lpVtbl->GetMediaTime(This, pTimeStart, pTimeEnd)
  649 #define IMediaSample_SetMediaTime(This, pTimeStart, pTimeEnd) (This)->lpVtbl->SetMediaTime(This, pTimeStart, pTimeEnd)
  650 
  651 declare function IMediaSample_GetPointer_Proxy(byval This as IMediaSample ptr, byval ppBuffer as UBYTE ptr ptr) as HRESULT
  652 declare sub IMediaSample_GetPointer_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  653 declare function IMediaSample_GetSize_Proxy(byval This as IMediaSample ptr) as LONG
  654 declare sub IMediaSample_GetSize_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  655 declare function IMediaSample_GetTime_Proxy(byval This as IMediaSample ptr, byval pTimeStart as REFERENCE_TIME ptr, byval pTimeEnd as REFERENCE_TIME ptr) as HRESULT
  656 declare sub IMediaSample_GetTime_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  657 declare function IMediaSample_SetTime_Proxy(byval This as IMediaSample ptr, byval pTimeStart as REFERENCE_TIME ptr, byval pTimeEnd as REFERENCE_TIME ptr) as HRESULT
  658 declare sub IMediaSample_SetTime_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  659 declare function IMediaSample_IsSyncPoint_Proxy(byval This as IMediaSample ptr) as HRESULT
  660 declare sub IMediaSample_IsSyncPoint_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  661 declare function IMediaSample_SetSyncPoint_Proxy(byval This as IMediaSample ptr, byval bIsSyncPoint as WINBOOL) as HRESULT
  662 declare sub IMediaSample_SetSyncPoint_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  663 declare function IMediaSample_IsPreroll_Proxy(byval This as IMediaSample ptr) as HRESULT
  664 declare sub IMediaSample_IsPreroll_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  665 declare function IMediaSample_SetPreroll_Proxy(byval This as IMediaSample ptr, byval bIsPreroll as WINBOOL) as HRESULT
  666 declare sub IMediaSample_SetPreroll_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  667 declare function IMediaSample_GetActualDataLength_Proxy(byval This as IMediaSample ptr) as LONG
  668 declare sub IMediaSample_GetActualDataLength_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  669 declare function IMediaSample_SetActualDataLength_Proxy(byval This as IMediaSample ptr, byval a as LONG) as HRESULT
  670 declare sub IMediaSample_SetActualDataLength_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  671 declare function IMediaSample_GetMediaType_Proxy(byval This as IMediaSample ptr, byval ppMediaType as AM_MEDIA_TYPE ptr ptr) as HRESULT
  672 declare sub IMediaSample_GetMediaType_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  673 declare function IMediaSample_SetMediaType_Proxy(byval This as IMediaSample ptr, byval pMediaType as AM_MEDIA_TYPE ptr) as HRESULT
  674 declare sub IMediaSample_SetMediaType_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  675 declare function IMediaSample_IsDiscontinuity_Proxy(byval This as IMediaSample ptr) as HRESULT
  676 declare sub IMediaSample_IsDiscontinuity_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  677 declare function IMediaSample_SetDiscontinuity_Proxy(byval This as IMediaSample ptr, byval bDiscontinuity as WINBOOL) as HRESULT
  678 declare sub IMediaSample_SetDiscontinuity_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  679 declare function IMediaSample_GetMediaTime_Proxy(byval This as IMediaSample ptr, byval pTimeStart as LONGLONG ptr, byval pTimeEnd as LONGLONG ptr) as HRESULT
  680 declare sub IMediaSample_GetMediaTime_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  681 declare function IMediaSample_SetMediaTime_Proxy(byval This as IMediaSample ptr, byval pTimeStart as LONGLONG ptr, byval pTimeEnd as LONGLONG ptr) as HRESULT
  682 declare sub IMediaSample_SetMediaTime_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  683 type PMEDIASAMPLE as IMediaSample ptr
  684 
  685 type tagAM_SAMPLE_PROPERTY_FLAGS as long
  686 enum
  687     AM_SAMPLE_SPLICEPOINT = &h1
  688     AM_SAMPLE_PREROLL = &h2
  689     AM_SAMPLE_DATADISCONTINUITY = &h4
  690     AM_SAMPLE_TYPECHANGED = &h8
  691     AM_SAMPLE_TIMEVALID = &h10
  692     AM_SAMPLE_TIMEDISCONTINUITY = &h40
  693     AM_SAMPLE_FLUSH_ON_PAUSE = &h80
  694     AM_SAMPLE_STOPVALID = &h100
  695     AM_SAMPLE_ENDOFSTREAM = &h200
  696     AM_STREAM_MEDIA = 0
  697     AM_STREAM_CONTROL = 1
  698 end enum
  699 
  700 type tagAM_SAMPLE2_PROPERTIES
  701     cbData as DWORD
  702     dwTypeSpecificFlags as DWORD
  703     dwSampleFlags as DWORD
  704     lActual as LONG
  705     tStart as REFERENCE_TIME
  706     tStop as REFERENCE_TIME
  707     dwStreamId as DWORD
  708     pMediaType as AM_MEDIA_TYPE ptr
  709     pbBuffer as UBYTE ptr
  710     cbBuffer as LONG
  711 end type
  712 
  713 type AM_SAMPLE2_PROPERTIES as tagAM_SAMPLE2_PROPERTIES
  714 #define __IMediaSample2_INTERFACE_DEFINED__
  715 extern IID_IMediaSample2 as const GUID
  716 type IMediaSample2 as IMediaSample2_
  717 
  718 type IMediaSample2Vtbl
  719     QueryInterface as function(byval This as IMediaSample2 ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  720     AddRef as function(byval This as IMediaSample2 ptr) as ULONG
  721     Release as function(byval This as IMediaSample2 ptr) as ULONG
  722     GetPointer as function(byval This as IMediaSample2 ptr, byval ppBuffer as UBYTE ptr ptr) as HRESULT
  723     GetSize as function(byval This as IMediaSample2 ptr) as LONG
  724     GetTime as function(byval This as IMediaSample2 ptr, byval pTimeStart as REFERENCE_TIME ptr, byval pTimeEnd as REFERENCE_TIME ptr) as HRESULT
  725     SetTime as function(byval This as IMediaSample2 ptr, byval pTimeStart as REFERENCE_TIME ptr, byval pTimeEnd as REFERENCE_TIME ptr) as HRESULT
  726     IsSyncPoint as function(byval This as IMediaSample2 ptr) as HRESULT
  727     SetSyncPoint as function(byval This as IMediaSample2 ptr, byval bIsSyncPoint as WINBOOL) as HRESULT
  728     IsPreroll as function(byval This as IMediaSample2 ptr) as HRESULT
  729     SetPreroll as function(byval This as IMediaSample2 ptr, byval bIsPreroll as WINBOOL) as HRESULT
  730     GetActualDataLength as function(byval This as IMediaSample2 ptr) as LONG
  731     SetActualDataLength as function(byval This as IMediaSample2 ptr, byval a as LONG) as HRESULT
  732     GetMediaType as function(byval This as IMediaSample2 ptr, byval ppMediaType as AM_MEDIA_TYPE ptr ptr) as HRESULT
  733     SetMediaType as function(byval This as IMediaSample2 ptr, byval pMediaType as AM_MEDIA_TYPE ptr) as HRESULT
  734     IsDiscontinuity as function(byval This as IMediaSample2 ptr) as HRESULT
  735     SetDiscontinuity as function(byval This as IMediaSample2 ptr, byval bDiscontinuity as WINBOOL) as HRESULT
  736     GetMediaTime as function(byval This as IMediaSample2 ptr, byval pTimeStart as LONGLONG ptr, byval pTimeEnd as LONGLONG ptr) as HRESULT
  737     SetMediaTime as function(byval This as IMediaSample2 ptr, byval pTimeStart as LONGLONG ptr, byval pTimeEnd as LONGLONG ptr) as HRESULT
  738     GetProperties as function(byval This as IMediaSample2 ptr, byval cbProperties as DWORD, byval pbProperties as UBYTE ptr) as HRESULT
  739     SetProperties as function(byval This as IMediaSample2 ptr, byval cbProperties as DWORD, byval pbProperties as const UBYTE ptr) as HRESULT
  740 end type
  741 
  742 type IMediaSample2_
  743     lpVtbl as IMediaSample2Vtbl ptr
  744 end type
  745 
  746 #define IMediaSample2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  747 #define IMediaSample2_AddRef(This) (This)->lpVtbl->AddRef(This)
  748 #define IMediaSample2_Release(This) (This)->lpVtbl->Release(This)
  749 #define IMediaSample2_GetPointer(This, ppBuffer) (This)->lpVtbl->GetPointer(This, ppBuffer)
  750 #define IMediaSample2_GetSize(This) (This)->lpVtbl->GetSize(This)
  751 #define IMediaSample2_GetTime(This, pTimeStart, pTimeEnd) (This)->lpVtbl->GetTime(This, pTimeStart, pTimeEnd)
  752 #define IMediaSample2_SetTime(This, pTimeStart, pTimeEnd) (This)->lpVtbl->SetTime(This, pTimeStart, pTimeEnd)
  753 #define IMediaSample2_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
  754 #define IMediaSample2_SetSyncPoint(This, bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This, bIsSyncPoint)
  755 #define IMediaSample2_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
  756 #define IMediaSample2_SetPreroll(This, bIsPreroll) (This)->lpVtbl->SetPreroll(This, bIsPreroll)
  757 #define IMediaSample2_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
  758 #define IMediaSample2_SetActualDataLength(This, a) (This)->lpVtbl->SetActualDataLength(This, a)
  759 #define IMediaSample2_GetMediaType(This, ppMediaType) (This)->lpVtbl->GetMediaType(This, ppMediaType)
  760 #define IMediaSample2_SetMediaType(This, pMediaType) (This)->lpVtbl->SetMediaType(This, pMediaType)
  761 #define IMediaSample2_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
  762 #define IMediaSample2_SetDiscontinuity(This, bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This, bDiscontinuity)
  763 #define IMediaSample2_GetMediaTime(This, pTimeStart, pTimeEnd) (This)->lpVtbl->GetMediaTime(This, pTimeStart, pTimeEnd)
  764 #define IMediaSample2_SetMediaTime(This, pTimeStart, pTimeEnd) (This)->lpVtbl->SetMediaTime(This, pTimeStart, pTimeEnd)
  765 #define IMediaSample2_GetProperties(This, cbProperties, pbProperties) (This)->lpVtbl->GetProperties(This, cbProperties, pbProperties)
  766 #define IMediaSample2_SetProperties(This, cbProperties, pbProperties) (This)->lpVtbl->SetProperties(This, cbProperties, pbProperties)
  767 
  768 declare function IMediaSample2_GetProperties_Proxy(byval This as IMediaSample2 ptr, byval cbProperties as DWORD, byval pbProperties as UBYTE ptr) as HRESULT
  769 declare sub IMediaSample2_GetProperties_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  770 declare function IMediaSample2_SetProperties_Proxy(byval This as IMediaSample2 ptr, byval cbProperties as DWORD, byval pbProperties as const UBYTE ptr) as HRESULT
  771 declare sub IMediaSample2_SetProperties_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  772 type PMEDIASAMPLE2 as IMediaSample2 ptr
  773 #define __IMediaSample2Config_INTERFACE_DEFINED__
  774 extern IID_IMediaSample2Config as const GUID
  775 type IMediaSample2Config as IMediaSample2Config_
  776 
  777 type IMediaSample2ConfigVtbl
  778     QueryInterface as function(byval This as IMediaSample2Config ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  779     AddRef as function(byval This as IMediaSample2Config ptr) as ULONG
  780     Release as function(byval This as IMediaSample2Config ptr) as ULONG
  781     GetSurface as function(byval This as IMediaSample2Config ptr, byval ppDirect3DSurface9 as IUnknown ptr ptr) as HRESULT
  782 end type
  783 
  784 type IMediaSample2Config_
  785     lpVtbl as IMediaSample2ConfigVtbl ptr
  786 end type
  787 
  788 #define IMediaSample2Config_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  789 #define IMediaSample2Config_AddRef(This) (This)->lpVtbl->AddRef(This)
  790 #define IMediaSample2Config_Release(This) (This)->lpVtbl->Release(This)
  791 #define IMediaSample2Config_GetSurface(This, ppDirect3DSurface9) (This)->lpVtbl->GetSurface(This, ppDirect3DSurface9)
  792 declare function IMediaSample2Config_GetSurface_Proxy(byval This as IMediaSample2Config ptr, byval ppDirect3DSurface9 as IUnknown ptr ptr) as HRESULT
  793 declare sub IMediaSample2Config_GetSurface_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  794 const AM_GBF_PREVFRAMESKIPPED = 1
  795 const AM_GBF_NOTASYNCPOINT = 2
  796 const AM_GBF_NOWAIT = 4
  797 const AM_GBF_NODDSURFACELOCK = 8
  798 #define __IMemAllocator_INTERFACE_DEFINED__
  799 extern IID_IMemAllocator as const GUID
  800 type IMemAllocator as IMemAllocator_
  801 
  802 type IMemAllocatorVtbl
  803     QueryInterface as function(byval This as IMemAllocator ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  804     AddRef as function(byval This as IMemAllocator ptr) as ULONG
  805     Release as function(byval This as IMemAllocator ptr) as ULONG
  806     SetProperties as function(byval This as IMemAllocator ptr, byval pRequest as ALLOCATOR_PROPERTIES ptr, byval pActual as ALLOCATOR_PROPERTIES ptr) as HRESULT
  807     GetProperties as function(byval This as IMemAllocator ptr, byval pProps as ALLOCATOR_PROPERTIES ptr) as HRESULT
  808     Commit as function(byval This as IMemAllocator ptr) as HRESULT
  809     Decommit as function(byval This as IMemAllocator ptr) as HRESULT
  810     GetBuffer as function(byval This as IMemAllocator ptr, byval ppBuffer as IMediaSample ptr ptr, byval pStartTime as REFERENCE_TIME ptr, byval pEndTime as REFERENCE_TIME ptr, byval dwFlags as DWORD) as HRESULT
  811     ReleaseBuffer as function(byval This as IMemAllocator ptr, byval pBuffer as IMediaSample ptr) as HRESULT
  812 end type
  813 
  814 type IMemAllocator_
  815     lpVtbl as IMemAllocatorVtbl ptr
  816 end type
  817 
  818 #define IMemAllocator_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  819 #define IMemAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
  820 #define IMemAllocator_Release(This) (This)->lpVtbl->Release(This)
  821 #define IMemAllocator_SetProperties(This, pRequest, pActual) (This)->lpVtbl->SetProperties(This, pRequest, pActual)
  822 #define IMemAllocator_GetProperties(This, pProps) (This)->lpVtbl->GetProperties(This, pProps)
  823 #define IMemAllocator_Commit(This) (This)->lpVtbl->Commit(This)
  824 #define IMemAllocator_Decommit(This) (This)->lpVtbl->Decommit(This)
  825 #define IMemAllocator_GetBuffer(This, ppBuffer, pStartTime, pEndTime, dwFlags) (This)->lpVtbl->GetBuffer(This, ppBuffer, pStartTime, pEndTime, dwFlags)
  826 #define IMemAllocator_ReleaseBuffer(This, pBuffer) (This)->lpVtbl->ReleaseBuffer(This, pBuffer)
  827 
  828 declare function IMemAllocator_SetProperties_Proxy(byval This as IMemAllocator ptr, byval pRequest as ALLOCATOR_PROPERTIES ptr, byval pActual as ALLOCATOR_PROPERTIES ptr) as HRESULT
  829 declare sub IMemAllocator_SetProperties_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  830 declare function IMemAllocator_GetProperties_Proxy(byval This as IMemAllocator ptr, byval pProps as ALLOCATOR_PROPERTIES ptr) as HRESULT
  831 declare sub IMemAllocator_GetProperties_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  832 declare function IMemAllocator_Commit_Proxy(byval This as IMemAllocator ptr) as HRESULT
  833 declare sub IMemAllocator_Commit_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  834 declare function IMemAllocator_Decommit_Proxy(byval This as IMemAllocator ptr) as HRESULT
  835 declare sub IMemAllocator_Decommit_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  836 declare function IMemAllocator_GetBuffer_Proxy(byval This as IMemAllocator ptr, byval ppBuffer as IMediaSample ptr ptr, byval pStartTime as REFERENCE_TIME ptr, byval pEndTime as REFERENCE_TIME ptr, byval dwFlags as DWORD) as HRESULT
  837 declare sub IMemAllocator_GetBuffer_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  838 declare function IMemAllocator_ReleaseBuffer_Proxy(byval This as IMemAllocator ptr, byval pBuffer as IMediaSample ptr) as HRESULT
  839 declare sub IMemAllocator_ReleaseBuffer_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  840 type PMEMALLOCATOR as IMemAllocator ptr
  841 #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  842 extern IID_IMemAllocatorCallbackTemp as const GUID
  843 type IMemAllocatorCallbackTemp as IMemAllocatorCallbackTemp_
  844 type IMemAllocatorNotifyCallbackTemp as IMemAllocatorNotifyCallbackTemp_
  845 
  846 type IMemAllocatorCallbackTempVtbl
  847     QueryInterface as function(byval This as IMemAllocatorCallbackTemp ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  848     AddRef as function(byval This as IMemAllocatorCallbackTemp ptr) as ULONG
  849     Release as function(byval This as IMemAllocatorCallbackTemp ptr) as ULONG
  850     SetProperties as function(byval This as IMemAllocatorCallbackTemp ptr, byval pRequest as ALLOCATOR_PROPERTIES ptr, byval pActual as ALLOCATOR_PROPERTIES ptr) as HRESULT
  851     GetProperties as function(byval This as IMemAllocatorCallbackTemp ptr, byval pProps as ALLOCATOR_PROPERTIES ptr) as HRESULT
  852     Commit as function(byval This as IMemAllocatorCallbackTemp ptr) as HRESULT
  853     Decommit as function(byval This as IMemAllocatorCallbackTemp ptr) as HRESULT
  854     GetBuffer as function(byval This as IMemAllocatorCallbackTemp ptr, byval ppBuffer as IMediaSample ptr ptr, byval pStartTime as REFERENCE_TIME ptr, byval pEndTime as REFERENCE_TIME ptr, byval dwFlags as DWORD) as HRESULT
  855     ReleaseBuffer as function(byval This as IMemAllocatorCallbackTemp ptr, byval pBuffer as IMediaSample ptr) as HRESULT
  856     SetNotify as function(byval This as IMemAllocatorCallbackTemp ptr, byval pNotify as IMemAllocatorNotifyCallbackTemp ptr) as HRESULT
  857     GetFreeCount as function(byval This as IMemAllocatorCallbackTemp ptr, byval plBuffersFree as LONG ptr) as HRESULT
  858 end type
  859 
  860 type IMemAllocatorCallbackTemp_
  861     lpVtbl as IMemAllocatorCallbackTempVtbl ptr
  862 end type
  863 
  864 #define IMemAllocatorCallbackTemp_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  865 #define IMemAllocatorCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
  866 #define IMemAllocatorCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
  867 #define IMemAllocatorCallbackTemp_SetProperties(This, pRequest, pActual) (This)->lpVtbl->SetProperties(This, pRequest, pActual)
  868 #define IMemAllocatorCallbackTemp_GetProperties(This, pProps) (This)->lpVtbl->GetProperties(This, pProps)
  869 #define IMemAllocatorCallbackTemp_Commit(This) (This)->lpVtbl->Commit(This)
  870 #define IMemAllocatorCallbackTemp_Decommit(This) (This)->lpVtbl->Decommit(This)
  871 #define IMemAllocatorCallbackTemp_GetBuffer(This, ppBuffer, pStartTime, pEndTime, dwFlags) (This)->lpVtbl->GetBuffer(This, ppBuffer, pStartTime, pEndTime, dwFlags)
  872 #define IMemAllocatorCallbackTemp_ReleaseBuffer(This, pBuffer) (This)->lpVtbl->ReleaseBuffer(This, pBuffer)
  873 #define IMemAllocatorCallbackTemp_SetNotify(This, pNotify) (This)->lpVtbl->SetNotify(This, pNotify)
  874 #define IMemAllocatorCallbackTemp_GetFreeCount(This, plBuffersFree) (This)->lpVtbl->GetFreeCount(This, plBuffersFree)
  875 
  876 declare function IMemAllocatorCallbackTemp_SetNotify_Proxy(byval This as IMemAllocatorCallbackTemp ptr, byval pNotify as IMemAllocatorNotifyCallbackTemp ptr) as HRESULT
  877 declare sub IMemAllocatorCallbackTemp_SetNotify_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  878 declare function IMemAllocatorCallbackTemp_GetFreeCount_Proxy(byval This as IMemAllocatorCallbackTemp ptr, byval plBuffersFree as LONG ptr) as HRESULT
  879 declare sub IMemAllocatorCallbackTemp_GetFreeCount_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  880 #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  881 extern IID_IMemAllocatorNotifyCallbackTemp as const GUID
  882 
  883 type IMemAllocatorNotifyCallbackTempVtbl
  884     QueryInterface as function(byval This as IMemAllocatorNotifyCallbackTemp ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  885     AddRef as function(byval This as IMemAllocatorNotifyCallbackTemp ptr) as ULONG
  886     Release as function(byval This as IMemAllocatorNotifyCallbackTemp ptr) as ULONG
  887     NotifyRelease as function(byval This as IMemAllocatorNotifyCallbackTemp ptr) as HRESULT
  888 end type
  889 
  890 type IMemAllocatorNotifyCallbackTemp_
  891     lpVtbl as IMemAllocatorNotifyCallbackTempVtbl ptr
  892 end type
  893 
  894 #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  895 #define IMemAllocatorNotifyCallbackTemp_AddRef(This) (This)->lpVtbl->AddRef(This)
  896 #define IMemAllocatorNotifyCallbackTemp_Release(This) (This)->lpVtbl->Release(This)
  897 #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This) (This)->lpVtbl->NotifyRelease(This)
  898 declare function IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy(byval This as IMemAllocatorNotifyCallbackTemp ptr) as HRESULT
  899 declare sub IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  900 #define __IMemInputPin_INTERFACE_DEFINED__
  901 extern IID_IMemInputPin as const GUID
  902 type IMemInputPin as IMemInputPin_
  903 
  904 type IMemInputPinVtbl
  905     QueryInterface as function(byval This as IMemInputPin ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  906     AddRef as function(byval This as IMemInputPin ptr) as ULONG
  907     Release as function(byval This as IMemInputPin ptr) as ULONG
  908     GetAllocator as function(byval This as IMemInputPin ptr, byval ppAllocator as IMemAllocator ptr ptr) as HRESULT
  909     NotifyAllocator as function(byval This as IMemInputPin ptr, byval pAllocator as IMemAllocator ptr, byval bReadOnly as WINBOOL) as HRESULT
  910     GetAllocatorRequirements as function(byval This as IMemInputPin ptr, byval pProps as ALLOCATOR_PROPERTIES ptr) as HRESULT
  911     Receive as function(byval This as IMemInputPin ptr, byval pSample as IMediaSample ptr) as HRESULT
  912     ReceiveMultiple as function(byval This as IMemInputPin ptr, byval pSamples as IMediaSample ptr ptr, byval nSamples as LONG, byval nSamplesProcessed as LONG ptr) as HRESULT
  913     ReceiveCanBlock as function(byval This as IMemInputPin ptr) as HRESULT
  914 end type
  915 
  916 type IMemInputPin_
  917     lpVtbl as IMemInputPinVtbl ptr
  918 end type
  919 
  920 #define IMemInputPin_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  921 #define IMemInputPin_AddRef(This) (This)->lpVtbl->AddRef(This)
  922 #define IMemInputPin_Release(This) (This)->lpVtbl->Release(This)
  923 #define IMemInputPin_GetAllocator(This, ppAllocator) (This)->lpVtbl->GetAllocator(This, ppAllocator)
  924 #define IMemInputPin_NotifyAllocator(This, pAllocator, bReadOnly) (This)->lpVtbl->NotifyAllocator(This, pAllocator, bReadOnly)
  925 #define IMemInputPin_GetAllocatorRequirements(This, pProps) (This)->lpVtbl->GetAllocatorRequirements(This, pProps)
  926 #define IMemInputPin_Receive(This, pSample) (This)->lpVtbl->Receive(This, pSample)
  927 #define IMemInputPin_ReceiveMultiple(This, pSamples, nSamples, nSamplesProcessed) (This)->lpVtbl->ReceiveMultiple(This, pSamples, nSamples, nSamplesProcessed)
  928 #define IMemInputPin_ReceiveCanBlock(This) (This)->lpVtbl->ReceiveCanBlock(This)
  929 
  930 declare function IMemInputPin_GetAllocator_Proxy(byval This as IMemInputPin ptr, byval ppAllocator as IMemAllocator ptr ptr) as HRESULT
  931 declare sub IMemInputPin_GetAllocator_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  932 declare function IMemInputPin_NotifyAllocator_Proxy(byval This as IMemInputPin ptr, byval pAllocator as IMemAllocator ptr, byval bReadOnly as WINBOOL) as HRESULT
  933 declare sub IMemInputPin_NotifyAllocator_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  934 declare function IMemInputPin_GetAllocatorRequirements_Proxy(byval This as IMemInputPin ptr, byval pProps as ALLOCATOR_PROPERTIES ptr) as HRESULT
  935 declare sub IMemInputPin_GetAllocatorRequirements_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  936 declare function IMemInputPin_Receive_Proxy(byval This as IMemInputPin ptr, byval pSample as IMediaSample ptr) as HRESULT
  937 declare sub IMemInputPin_Receive_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  938 declare function IMemInputPin_ReceiveMultiple_Proxy(byval This as IMemInputPin ptr, byval pSamples as IMediaSample ptr ptr, byval nSamples as LONG, byval nSamplesProcessed as LONG ptr) as HRESULT
  939 declare sub IMemInputPin_ReceiveMultiple_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  940 declare function IMemInputPin_ReceiveCanBlock_Proxy(byval This as IMemInputPin ptr) as HRESULT
  941 declare sub IMemInputPin_ReceiveCanBlock_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  942 type PMEMINPUTPIN as IMemInputPin ptr
  943 #define __IAMovieSetup_INTERFACE_DEFINED__
  944 extern IID_IAMovieSetup as const GUID
  945 type IAMovieSetup as IAMovieSetup_
  946 
  947 type IAMovieSetupVtbl
  948     QueryInterface as function(byval This as IAMovieSetup ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
  949     AddRef as function(byval This as IAMovieSetup ptr) as ULONG
  950     Release as function(byval This as IAMovieSetup ptr) as ULONG
  951     Register as function(byval This as IAMovieSetup ptr) as HRESULT
  952     Unregister as function(byval This as IAMovieSetup ptr) as HRESULT
  953 end type
  954 
  955 type IAMovieSetup_
  956     lpVtbl as IAMovieSetupVtbl ptr
  957 end type
  958 
  959 #define IAMovieSetup_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
  960 #define IAMovieSetup_AddRef(This) (This)->lpVtbl->AddRef(This)
  961 #define IAMovieSetup_Release(This) (This)->lpVtbl->Release(This)
  962 #define IAMovieSetup_Register(This) (This)->lpVtbl->Register(This)
  963 #define IAMovieSetup_Unregister(This) (This)->lpVtbl->Unregister(This)
  964 
  965 declare function IAMovieSetup_Register_Proxy(byval This as IAMovieSetup ptr) as HRESULT
  966 declare sub IAMovieSetup_Register_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  967 declare function IAMovieSetup_Unregister_Proxy(byval This as IAMovieSetup ptr) as HRESULT
  968 declare sub IAMovieSetup_Unregister_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
  969 type PAMOVIESETUP as IAMovieSetup ptr
  970 
  971 type AM_SEEKING_SeekingFlags as long
  972 enum
  973     AM_SEEKING_NoPositioning = &h0
  974     AM_SEEKING_AbsolutePositioning = &h1
  975     AM_SEEKING_RelativePositioning = &h2
  976     AM_SEEKING_IncrementalPositioning = &h3
  977     AM_SEEKING_PositioningBitsMask = &h3
  978     AM_SEEKING_SeekToKeyFrame = &h4
  979     AM_SEEKING_ReturnTime = &h8
  980     AM_SEEKING_Segment = &h10
  981     AM_SEEKING_NoFlush = &h20
  982 end enum
  983 
  984 type AM_SEEKING_SEEKING_FLAGS as AM_SEEKING_SeekingFlags
  985 
  986 type AM_SEEKING_SeekingCapabilities as long
  987 enum
  988     AM_SEEKING_CanSeekAbsolute = &h1
  989     AM_SEEKING_CanSeekForwards = &h2
  990     AM_SEEKING_CanSeekBackwards = &h4
  991     AM_SEEKING_CanGetCurrentPos = &h8
  992     AM_SEEKING_CanGetStopPos = &h10
  993     AM_SEEKING_CanGetDuration = &h20
  994     AM_SEEKING_CanPlayBackwards = &h40
  995     AM_SEEKING_CanDoSegments = &h80
  996     AM_SEEKING_Source = &h100
  997 end enum
  998 
  999 type AM_SEEKING_SEEKING_CAPABILITIES as AM_SEEKING_SeekingCapabilities
 1000 #define __IMediaSeeking_INTERFACE_DEFINED__
 1001 extern IID_IMediaSeeking as const GUID
 1002 type IMediaSeeking as IMediaSeeking_
 1003 
 1004 type IMediaSeekingVtbl
 1005     QueryInterface as function(byval This as IMediaSeeking ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1006     AddRef as function(byval This as IMediaSeeking ptr) as ULONG
 1007     Release as function(byval This as IMediaSeeking ptr) as ULONG
 1008     GetCapabilities as function(byval This as IMediaSeeking ptr, byval pCapabilities as DWORD ptr) as HRESULT
 1009     CheckCapabilities as function(byval This as IMediaSeeking ptr, byval pCapabilities as DWORD ptr) as HRESULT
 1010     IsFormatSupported as function(byval This as IMediaSeeking ptr, byval pFormat as const GUID ptr) as HRESULT
 1011     QueryPreferredFormat as function(byval This as IMediaSeeking ptr, byval pFormat as GUID ptr) as HRESULT
 1012     GetTimeFormat as function(byval This as IMediaSeeking ptr, byval pFormat as GUID ptr) as HRESULT
 1013     IsUsingTimeFormat as function(byval This as IMediaSeeking ptr, byval pFormat as const GUID ptr) as HRESULT
 1014     SetTimeFormat as function(byval This as IMediaSeeking ptr, byval pFormat as const GUID ptr) as HRESULT
 1015     GetDuration as function(byval This as IMediaSeeking ptr, byval pDuration as LONGLONG ptr) as HRESULT
 1016     GetStopPosition as function(byval This as IMediaSeeking ptr, byval pStop as LONGLONG ptr) as HRESULT
 1017     GetCurrentPosition as function(byval This as IMediaSeeking ptr, byval pCurrent as LONGLONG ptr) as HRESULT
 1018     ConvertTimeFormat as function(byval This as IMediaSeeking ptr, byval pTarget as LONGLONG ptr, byval pTargetFormat as const GUID ptr, byval Source as LONGLONG, byval pSourceFormat as const GUID ptr) as HRESULT
 1019     SetPositions as function(byval This as IMediaSeeking ptr, byval pCurrent as LONGLONG ptr, byval dwCurrentFlags as DWORD, byval pStop as LONGLONG ptr, byval dwStopFlags as DWORD) as HRESULT
 1020     GetPositions as function(byval This as IMediaSeeking ptr, byval pCurrent as LONGLONG ptr, byval pStop as LONGLONG ptr) as HRESULT
 1021     GetAvailable as function(byval This as IMediaSeeking ptr, byval pEarliest as LONGLONG ptr, byval pLatest as LONGLONG ptr) as HRESULT
 1022     SetRate as function(byval This as IMediaSeeking ptr, byval dRate as double) as HRESULT
 1023     GetRate as function(byval This as IMediaSeeking ptr, byval pdRate as double ptr) as HRESULT
 1024     GetPreroll as function(byval This as IMediaSeeking ptr, byval pllPreroll as LONGLONG ptr) as HRESULT
 1025 end type
 1026 
 1027 type IMediaSeeking_
 1028     lpVtbl as IMediaSeekingVtbl ptr
 1029 end type
 1030 
 1031 #define IMediaSeeking_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1032 #define IMediaSeeking_AddRef(This) (This)->lpVtbl->AddRef(This)
 1033 #define IMediaSeeking_Release(This) (This)->lpVtbl->Release(This)
 1034 #define IMediaSeeking_GetCapabilities(This, pCapabilities) (This)->lpVtbl->GetCapabilities(This, pCapabilities)
 1035 #define IMediaSeeking_CheckCapabilities(This, pCapabilities) (This)->lpVtbl->CheckCapabilities(This, pCapabilities)
 1036 #define IMediaSeeking_IsFormatSupported(This, pFormat) (This)->lpVtbl->IsFormatSupported(This, pFormat)
 1037 #define IMediaSeeking_QueryPreferredFormat(This, pFormat) (This)->lpVtbl->QueryPreferredFormat(This, pFormat)
 1038 #define IMediaSeeking_GetTimeFormat(This, pFormat) (This)->lpVtbl->GetTimeFormat(This, pFormat)
 1039 #define IMediaSeeking_IsUsingTimeFormat(This, pFormat) (This)->lpVtbl->IsUsingTimeFormat(This, pFormat)
 1040 #define IMediaSeeking_SetTimeFormat(This, pFormat) (This)->lpVtbl->SetTimeFormat(This, pFormat)
 1041 #define IMediaSeeking_GetDuration(This, pDuration) (This)->lpVtbl->GetDuration(This, pDuration)
 1042 #define IMediaSeeking_GetStopPosition(This, pStop) (This)->lpVtbl->GetStopPosition(This, pStop)
 1043 #define IMediaSeeking_GetCurrentPosition(This, pCurrent) (This)->lpVtbl->GetCurrentPosition(This, pCurrent)
 1044 #define IMediaSeeking_ConvertTimeFormat(This, pTarget, pTargetFormat, Source, pSourceFormat) (This)->lpVtbl->ConvertTimeFormat(This, pTarget, pTargetFormat, Source, pSourceFormat)
 1045 #define IMediaSeeking_SetPositions(This, pCurrent, dwCurrentFlags, pStop, dwStopFlags) (This)->lpVtbl->SetPositions(This, pCurrent, dwCurrentFlags, pStop, dwStopFlags)
 1046 #define IMediaSeeking_GetPositions(This, pCurrent, pStop) (This)->lpVtbl->GetPositions(This, pCurrent, pStop)
 1047 #define IMediaSeeking_GetAvailable(This, pEarliest, pLatest) (This)->lpVtbl->GetAvailable(This, pEarliest, pLatest)
 1048 #define IMediaSeeking_SetRate(This, dRate) (This)->lpVtbl->SetRate(This, dRate)
 1049 #define IMediaSeeking_GetRate(This, pdRate) (This)->lpVtbl->GetRate(This, pdRate)
 1050 #define IMediaSeeking_GetPreroll(This, pllPreroll) (This)->lpVtbl->GetPreroll(This, pllPreroll)
 1051 
 1052 declare function IMediaSeeking_GetCapabilities_Proxy(byval This as IMediaSeeking ptr, byval pCapabilities as DWORD ptr) as HRESULT
 1053 declare sub IMediaSeeking_GetCapabilities_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1054 declare function IMediaSeeking_CheckCapabilities_Proxy(byval This as IMediaSeeking ptr, byval pCapabilities as DWORD ptr) as HRESULT
 1055 declare sub IMediaSeeking_CheckCapabilities_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1056 declare function IMediaSeeking_IsFormatSupported_Proxy(byval This as IMediaSeeking ptr, byval pFormat as const GUID ptr) as HRESULT
 1057 declare sub IMediaSeeking_IsFormatSupported_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1058 declare function IMediaSeeking_QueryPreferredFormat_Proxy(byval This as IMediaSeeking ptr, byval pFormat as GUID ptr) as HRESULT
 1059 declare sub IMediaSeeking_QueryPreferredFormat_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1060 declare function IMediaSeeking_GetTimeFormat_Proxy(byval This as IMediaSeeking ptr, byval pFormat as GUID ptr) as HRESULT
 1061 declare sub IMediaSeeking_GetTimeFormat_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1062 declare function IMediaSeeking_IsUsingTimeFormat_Proxy(byval This as IMediaSeeking ptr, byval pFormat as const GUID ptr) as HRESULT
 1063 declare sub IMediaSeeking_IsUsingTimeFormat_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1064 declare function IMediaSeeking_SetTimeFormat_Proxy(byval This as IMediaSeeking ptr, byval pFormat as const GUID ptr) as HRESULT
 1065 declare sub IMediaSeeking_SetTimeFormat_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1066 declare function IMediaSeeking_GetDuration_Proxy(byval This as IMediaSeeking ptr, byval pDuration as LONGLONG ptr) as HRESULT
 1067 declare sub IMediaSeeking_GetDuration_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1068 declare function IMediaSeeking_GetStopPosition_Proxy(byval This as IMediaSeeking ptr, byval pStop as LONGLONG ptr) as HRESULT
 1069 declare sub IMediaSeeking_GetStopPosition_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1070 declare function IMediaSeeking_GetCurrentPosition_Proxy(byval This as IMediaSeeking ptr, byval pCurrent as LONGLONG ptr) as HRESULT
 1071 declare sub IMediaSeeking_GetCurrentPosition_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1072 declare function IMediaSeeking_ConvertTimeFormat_Proxy(byval This as IMediaSeeking ptr, byval pTarget as LONGLONG ptr, byval pTargetFormat as const GUID ptr, byval Source as LONGLONG, byval pSourceFormat as const GUID ptr) as HRESULT
 1073 declare sub IMediaSeeking_ConvertTimeFormat_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1074 declare function IMediaSeeking_SetPositions_Proxy(byval This as IMediaSeeking ptr, byval pCurrent as LONGLONG ptr, byval dwCurrentFlags as DWORD, byval pStop as LONGLONG ptr, byval dwStopFlags as DWORD) as HRESULT
 1075 declare sub IMediaSeeking_SetPositions_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1076 declare function IMediaSeeking_GetPositions_Proxy(byval This as IMediaSeeking ptr, byval pCurrent as LONGLONG ptr, byval pStop as LONGLONG ptr) as HRESULT
 1077 declare sub IMediaSeeking_GetPositions_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1078 declare function IMediaSeeking_GetAvailable_Proxy(byval This as IMediaSeeking ptr, byval pEarliest as LONGLONG ptr, byval pLatest as LONGLONG ptr) as HRESULT
 1079 declare sub IMediaSeeking_GetAvailable_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1080 declare function IMediaSeeking_SetRate_Proxy(byval This as IMediaSeeking ptr, byval dRate as double) as HRESULT
 1081 declare sub IMediaSeeking_SetRate_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1082 declare function IMediaSeeking_GetRate_Proxy(byval This as IMediaSeeking ptr, byval pdRate as double ptr) as HRESULT
 1083 declare sub IMediaSeeking_GetRate_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1084 declare function IMediaSeeking_GetPreroll_Proxy(byval This as IMediaSeeking ptr, byval pllPreroll as LONGLONG ptr) as HRESULT
 1085 declare sub IMediaSeeking_GetPreroll_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1086 type PMEDIASEEKING as IMediaSeeking ptr
 1087 
 1088 type tagAM_MEDIAEVENT_FLAGS as long
 1089 enum
 1090     AM_MEDIAEVENT_NONOTIFY = &h1
 1091 end enum
 1092 
 1093 #define __IAMAnalogVideoDecoder_FWD_DEFINED__
 1094 #define __IAMAnalogVideoEncoder_FWD_DEFINED__
 1095 #define __IAMAudioInputMixer_FWD_DEFINED__
 1096 #define __IAMAudioRendererStats_FWD_DEFINED__
 1097 #define __IAMBufferNegotiation_FWD_DEFINED__
 1098 #define __IAMCameraControl_FWD_DEFINED__
 1099 #define __IAMCrossbar_FWD_DEFINED__
 1100 #define __IAMDevMemoryAllocator_FWD_DEFINED__
 1101 #define __IAMDevMemoryControl_FWD_DEFINED__
 1102 #define __IAMDroppedFrames_FWD_DEFINED__
 1103 #define __IAMExtDevice_FWD_DEFINED__
 1104 #define __IAMExtTransport_FWD_DEFINED__
 1105 #define __IAMGraphStreams_FWD_DEFINED__
 1106 #define __IAMLatency_FWD_DEFINED__
 1107 #define __IAMOpenProgress_FWD_DEFINED__
 1108 #define __IAMOverlayFX_FWD_DEFINED__
 1109 #define __IAMPhysicalPinInfo_FWD_DEFINED__
 1110 #define __IAMPushSource_FWD_DEFINED__
 1111 #define __IAMTimecodeDisplay_FWD_DEFINED__
 1112 #define __IAMTimecodeGenerator_FWD_DEFINED__
 1113 #define __IAMTimecodeReader_FWD_DEFINED__
 1114 #define __IAMTVTuner_FWD_DEFINED__
 1115 #define __IAMVfwCaptureDialogs_FWD_DEFINED__
 1116 #define __IAMVfwCompressDialogs_FWD_DEFINED__
 1117 #define __IAMVideoCompression_FWD_DEFINED__
 1118 #define __IAMVideoDecimationProperties_FWD_DEFINED__
 1119 #define __IDecimateVideoImage_FWD_DEFINED__
 1120 #define __IDrawVideoImage_FWD_DEFINED__
 1121 #define __IEnumStreamIdMap_FWD_DEFINED__
 1122 #define __IMpeg2Demultiplexer_FWD_DEFINED__
 1123 #define __IMPEG2StreamIdMap_FWD_DEFINED__
 1124 
 1125 type __WIDL_strmif_generated_name_00000002
 1126     Clsid as CLSID
 1127     Name as LPWSTR
 1128 end type
 1129 
 1130 type REGFILTER as __WIDL_strmif_generated_name_00000002
 1131 #define __IEnumRegFilters_INTERFACE_DEFINED__
 1132 extern IID_IEnumRegFilters as const GUID
 1133 type IEnumRegFilters as IEnumRegFilters_
 1134 
 1135 type IEnumRegFiltersVtbl
 1136     QueryInterface as function(byval This as IEnumRegFilters ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1137     AddRef as function(byval This as IEnumRegFilters ptr) as ULONG
 1138     Release as function(byval This as IEnumRegFilters ptr) as ULONG
 1139     Next as function(byval This as IEnumRegFilters ptr, byval cFilters as ULONG, byval apRegFilter as REGFILTER ptr ptr, byval pcFetched as ULONG ptr) as HRESULT
 1140     Skip as function(byval This as IEnumRegFilters ptr, byval cFilters as ULONG) as HRESULT
 1141     Reset as function(byval This as IEnumRegFilters ptr) as HRESULT
 1142     Clone as function(byval This as IEnumRegFilters ptr, byval ppEnum as IEnumRegFilters ptr ptr) as HRESULT
 1143 end type
 1144 
 1145 type IEnumRegFilters_
 1146     lpVtbl as IEnumRegFiltersVtbl ptr
 1147 end type
 1148 
 1149 #define IEnumRegFilters_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1150 #define IEnumRegFilters_AddRef(This) (This)->lpVtbl->AddRef(This)
 1151 #define IEnumRegFilters_Release(This) (This)->lpVtbl->Release(This)
 1152 #define IEnumRegFilters_Next(This, cFilters, apRegFilter, pcFetched) (This)->lpVtbl->Next(This, cFilters, apRegFilter, pcFetched)
 1153 #define IEnumRegFilters_Skip(This, cFilters) (This)->lpVtbl->Skip(This, cFilters)
 1154 #define IEnumRegFilters_Reset(This) (This)->lpVtbl->Reset(This)
 1155 #define IEnumRegFilters_Clone(This, ppEnum) (This)->lpVtbl->Clone(This, ppEnum)
 1156 
 1157 declare function IEnumRegFilters_Next_Proxy(byval This as IEnumRegFilters ptr, byval cFilters as ULONG, byval apRegFilter as REGFILTER ptr ptr, byval pcFetched as ULONG ptr) as HRESULT
 1158 declare sub IEnumRegFilters_Next_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1159 declare function IEnumRegFilters_Skip_Proxy(byval This as IEnumRegFilters ptr, byval cFilters as ULONG) as HRESULT
 1160 declare sub IEnumRegFilters_Skip_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1161 declare function IEnumRegFilters_Reset_Proxy(byval This as IEnumRegFilters ptr) as HRESULT
 1162 declare sub IEnumRegFilters_Reset_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1163 declare function IEnumRegFilters_Clone_Proxy(byval This as IEnumRegFilters ptr, byval ppEnum as IEnumRegFilters ptr ptr) as HRESULT
 1164 declare sub IEnumRegFilters_Clone_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1165 type PENUMREGFILTERS as IEnumRegFilters ptr
 1166 #define __IFilterMapper_INTERFACE_DEFINED__
 1167 
 1168 enum
 1169     MERIT_PREFERRED = &h800000
 1170     MERIT_NORMAL = &h600000
 1171     MERIT_UNLIKELY = &h400000
 1172     MERIT_DO_NOT_USE = &h200000
 1173     MERIT_SW_COMPRESSOR = &h100000
 1174     MERIT_HW_COMPRESSOR = &h100050
 1175 end enum
 1176 
 1177 extern IID_IFilterMapper as const GUID
 1178 type IFilterMapper as IFilterMapper_
 1179 
 1180 type IFilterMapperVtbl
 1181     QueryInterface as function(byval This as IFilterMapper ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1182     AddRef as function(byval This as IFilterMapper ptr) as ULONG
 1183     Release as function(byval This as IFilterMapper ptr) as ULONG
 1184     RegisterFilter as function(byval This as IFilterMapper ptr, byval clsid as CLSID, byval Name as LPCWSTR, byval dwMerit as DWORD) as HRESULT
 1185     RegisterFilterInstance as function(byval This as IFilterMapper ptr, byval clsid as CLSID, byval Name as LPCWSTR, byval MRId as CLSID ptr) as HRESULT
 1186     RegisterPin as function(byval This as IFilterMapper ptr, byval Filter as CLSID, byval Name as LPCWSTR, byval bRendered as WINBOOL, byval bOutput as WINBOOL, byval bZero as WINBOOL, byval bMany as WINBOOL, byval ConnectsToFilter as CLSID, byval ConnectsToPin as LPCWSTR) as HRESULT
 1187     RegisterPinType as function(byval This as IFilterMapper ptr, byval clsFilter as CLSID, byval strName as LPCWSTR, byval clsMajorType as CLSID, byval clsSubType as CLSID) as HRESULT
 1188     UnregisterFilter as function(byval This as IFilterMapper ptr, byval Filter as CLSID) as HRESULT
 1189     UnregisterFilterInstance as function(byval This as IFilterMapper ptr, byval MRId as CLSID) as HRESULT
 1190     UnregisterPin as function(byval This as IFilterMapper ptr, byval Filter as CLSID, byval Name as LPCWSTR) as HRESULT
 1191     EnumMatchingFilters as function(byval This as IFilterMapper ptr, byval ppEnum as IEnumRegFilters ptr ptr, byval dwMerit as DWORD, byval bInputNeeded as WINBOOL, byval clsInMaj as CLSID, byval clsInSub as CLSID, byval bRender as WINBOOL, byval bOututNeeded as WINBOOL, byval clsOutMaj as CLSID, byval clsOutSub as CLSID) as HRESULT
 1192 end type
 1193 
 1194 type IFilterMapper_
 1195     lpVtbl as IFilterMapperVtbl ptr
 1196 end type
 1197 
 1198 #define IFilterMapper_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1199 #define IFilterMapper_AddRef(This) (This)->lpVtbl->AddRef(This)
 1200 #define IFilterMapper_Release(This) (This)->lpVtbl->Release(This)
 1201 #define IFilterMapper_RegisterFilter(This, clsid, Name, dwMerit) (This)->lpVtbl->RegisterFilter(This, clsid, Name, dwMerit)
 1202 #define IFilterMapper_RegisterFilterInstance(This, clsid, Name, MRId) (This)->lpVtbl->RegisterFilterInstance(This, clsid, Name, MRId)
 1203 #define IFilterMapper_RegisterPin(This, Filter, Name, bRendered, bOutput, bZero, bMany, ConnectsToFilter, ConnectsToPin) (This)->lpVtbl->RegisterPin(This, Filter, Name, bRendered, bOutput, bZero, bMany, ConnectsToFilter, ConnectsToPin)
 1204 #define IFilterMapper_RegisterPinType(This, clsFilter, strName, clsMajorType, clsSubType) (This)->lpVtbl->RegisterPinType(This, clsFilter, strName, clsMajorType, clsSubType)
 1205 #define IFilterMapper_UnregisterFilter(This, Filter) (This)->lpVtbl->UnregisterFilter(This, Filter)
 1206 #define IFilterMapper_UnregisterFilterInstance(This, MRId) (This)->lpVtbl->UnregisterFilterInstance(This, MRId)
 1207 #define IFilterMapper_UnregisterPin(This, Filter, Name) (This)->lpVtbl->UnregisterPin(This, Filter, Name)
 1208 #define IFilterMapper_EnumMatchingFilters(This, ppEnum, dwMerit, bInputNeeded, clsInMaj, clsInSub, bRender, bOututNeeded, clsOutMaj, clsOutSub) (This)->lpVtbl->EnumMatchingFilters(This, ppEnum, dwMerit, bInputNeeded, clsInMaj, clsInSub, bRender, bOututNeeded, clsOutMaj, clsOutSub)
 1209 
 1210 declare function IFilterMapper_RegisterFilter_Proxy(byval This as IFilterMapper ptr, byval clsid as CLSID, byval Name as LPCWSTR, byval dwMerit as DWORD) as HRESULT
 1211 declare sub IFilterMapper_RegisterFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1212 declare function IFilterMapper_RegisterFilterInstance_Proxy(byval This as IFilterMapper ptr, byval clsid as CLSID, byval Name as LPCWSTR, byval MRId as CLSID ptr) as HRESULT
 1213 declare sub IFilterMapper_RegisterFilterInstance_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1214 declare function IFilterMapper_RegisterPin_Proxy(byval This as IFilterMapper ptr, byval Filter as CLSID, byval Name as LPCWSTR, byval bRendered as WINBOOL, byval bOutput as WINBOOL, byval bZero as WINBOOL, byval bMany as WINBOOL, byval ConnectsToFilter as CLSID, byval ConnectsToPin as LPCWSTR) as HRESULT
 1215 declare sub IFilterMapper_RegisterPin_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1216 declare function IFilterMapper_RegisterPinType_Proxy(byval This as IFilterMapper ptr, byval clsFilter as CLSID, byval strName as LPCWSTR, byval clsMajorType as CLSID, byval clsSubType as CLSID) as HRESULT
 1217 declare sub IFilterMapper_RegisterPinType_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1218 declare function IFilterMapper_UnregisterFilter_Proxy(byval This as IFilterMapper ptr, byval Filter as CLSID) as HRESULT
 1219 declare sub IFilterMapper_UnregisterFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1220 declare function IFilterMapper_UnregisterFilterInstance_Proxy(byval This as IFilterMapper ptr, byval MRId as CLSID) as HRESULT
 1221 declare sub IFilterMapper_UnregisterFilterInstance_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1222 declare function IFilterMapper_UnregisterPin_Proxy(byval This as IFilterMapper ptr, byval Filter as CLSID, byval Name as LPCWSTR) as HRESULT
 1223 declare sub IFilterMapper_UnregisterPin_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1224 declare function IFilterMapper_EnumMatchingFilters_Proxy(byval This as IFilterMapper ptr, byval ppEnum as IEnumRegFilters ptr ptr, byval dwMerit as DWORD, byval bInputNeeded as WINBOOL, byval clsInMaj as CLSID, byval clsInSub as CLSID, byval bRender as WINBOOL, byval bOututNeeded as WINBOOL, byval clsOutMaj as CLSID, byval clsOutSub as CLSID) as HRESULT
 1225 declare sub IFilterMapper_EnumMatchingFilters_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1226 
 1227 type __WIDL_strmif_generated_name_00000003
 1228     clsMajorType as const CLSID ptr
 1229     clsMinorType as const CLSID ptr
 1230 end type
 1231 
 1232 type REGPINTYPES as __WIDL_strmif_generated_name_00000003
 1233 
 1234 type __WIDL_strmif_generated_name_00000004
 1235     strName as LPWSTR
 1236     bRendered as WINBOOL
 1237     bOutput as WINBOOL
 1238     bZero as WINBOOL
 1239     bMany as WINBOOL
 1240     clsConnectsToFilter as const CLSID ptr
 1241     strConnectsToPin as const wstring ptr
 1242     nMediaTypes as UINT
 1243     lpMediaType as const REGPINTYPES ptr
 1244 end type
 1245 
 1246 type REGFILTERPINS as __WIDL_strmif_generated_name_00000004
 1247 
 1248 type __WIDL_strmif_generated_name_00000005
 1249     clsMedium as CLSID
 1250     dw1 as DWORD
 1251     dw2 as DWORD
 1252 end type
 1253 
 1254 type REGPINMEDIUM as __WIDL_strmif_generated_name_00000005
 1255 
 1256 enum
 1257     REG_PINFLAG_B_ZERO = &h1
 1258     REG_PINFLAG_B_RENDERER = &h2
 1259     REG_PINFLAG_B_MANY = &h4
 1260     REG_PINFLAG_B_OUTPUT = &h8
 1261 end enum
 1262 
 1263 type __WIDL_strmif_generated_name_00000006
 1264     dwFlags as DWORD
 1265     cInstances as UINT
 1266     nMediaTypes as UINT
 1267     lpMediaType as const REGPINTYPES ptr
 1268     nMediums as UINT
 1269     lpMedium as const REGPINMEDIUM ptr
 1270     clsPinCategory as const CLSID ptr
 1271 end type
 1272 
 1273 type REGFILTERPINS2 as __WIDL_strmif_generated_name_00000006
 1274 
 1275 type __WIDL_strmif_generated_name_00000007
 1276     dwVersion as DWORD
 1277     dwMerit as DWORD
 1278 
 1279     union
 1280         type
 1281             cPins as ULONG
 1282             rgPins as const REGFILTERPINS ptr
 1283         end type
 1284 
 1285         type
 1286             cPins2 as ULONG
 1287             rgPins2 as const REGFILTERPINS2 ptr
 1288         end type
 1289     end union
 1290 end type
 1291 
 1292 type REGFILTER2 as __WIDL_strmif_generated_name_00000007
 1293 #define __IFilterMapper2_INTERFACE_DEFINED__
 1294 extern IID_IFilterMapper2 as const GUID
 1295 type IFilterMapper2 as IFilterMapper2_
 1296 
 1297 type IFilterMapper2Vtbl
 1298     QueryInterface as function(byval This as IFilterMapper2 ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1299     AddRef as function(byval This as IFilterMapper2 ptr) as ULONG
 1300     Release as function(byval This as IFilterMapper2 ptr) as ULONG
 1301     CreateCategory as function(byval This as IFilterMapper2 ptr, byval clsidCategory as const IID const ptr, byval dwCategoryMerit as DWORD, byval Description as LPCWSTR) as HRESULT
 1302     UnregisterFilter as function(byval This as IFilterMapper2 ptr, byval pclsidCategory as const CLSID ptr, byval szInstance as LPCOLESTR, byval Filter as const IID const ptr) as HRESULT
 1303     RegisterFilter as function(byval This as IFilterMapper2 ptr, byval clsidFilter as const IID const ptr, byval Name as LPCWSTR, byval ppMoniker as IMoniker ptr ptr, byval pclsidCategory as const CLSID ptr, byval szInstance as LPCOLESTR, byval prf2 as const REGFILTER2 ptr) as HRESULT
 1304     EnumMatchingFilters as function(byval This as IFilterMapper2 ptr, byval ppEnum as IEnumMoniker ptr ptr, byval dwFlags as DWORD, byval bExactMatch as WINBOOL, byval dwMerit as DWORD, byval bInputNeeded as WINBOOL, byval cInputTypes as DWORD, byval pInputTypes as const GUID ptr, byval pMedIn as const REGPINMEDIUM ptr, byval pPinCategoryIn as const CLSID ptr, byval bRender as WINBOOL, byval bOutputNeeded as WINBOOL, byval cOutputTypes as DWORD, byval pOutputTypes as const GUID ptr, byval pMedOut as const REGPINMEDIUM ptr, byval pPinCategoryOut as const CLSID ptr) as HRESULT
 1305 end type
 1306 
 1307 type IFilterMapper2_
 1308     lpVtbl as IFilterMapper2Vtbl ptr
 1309 end type
 1310 
 1311 #define IFilterMapper2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1312 #define IFilterMapper2_AddRef(This) (This)->lpVtbl->AddRef(This)
 1313 #define IFilterMapper2_Release(This) (This)->lpVtbl->Release(This)
 1314 #define IFilterMapper2_CreateCategory(This, clsidCategory, dwCategoryMerit, Description) (This)->lpVtbl->CreateCategory(This, clsidCategory, dwCategoryMerit, Description)
 1315 #define IFilterMapper2_UnregisterFilter(This, pclsidCategory, szInstance, Filter) (This)->lpVtbl->UnregisterFilter(This, pclsidCategory, szInstance, Filter)
 1316 #define IFilterMapper2_RegisterFilter(This, clsidFilter, Name, ppMoniker, pclsidCategory, szInstance, prf2) (This)->lpVtbl->RegisterFilter(This, clsidFilter, Name, ppMoniker, pclsidCategory, szInstance, prf2)
 1317 #define IFilterMapper2_EnumMatchingFilters(This, ppEnum, dwFlags, bExactMatch, dwMerit, bInputNeeded, cInputTypes, pInputTypes, pMedIn, pPinCategoryIn, bRender, bOutputNeeded, cOutputTypes, pOutputTypes, pMedOut, pPinCategoryOut) (This)->lpVtbl->EnumMatchingFilters(This, ppEnum, dwFlags, bExactMatch, dwMerit, bInputNeeded, cInputTypes, pInputTypes, pMedIn, pPinCategoryIn, bRender, bOutputNeeded, cOutputTypes, pOutputTypes, pMedOut, pPinCategoryOut)
 1318 
 1319 declare function IFilterMapper2_CreateCategory_Proxy(byval This as IFilterMapper2 ptr, byval clsidCategory as const IID const ptr, byval dwCategoryMerit as DWORD, byval Description as LPCWSTR) as HRESULT
 1320 declare sub IFilterMapper2_CreateCategory_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1321 declare function IFilterMapper2_UnregisterFilter_Proxy(byval This as IFilterMapper2 ptr, byval pclsidCategory as const CLSID ptr, byval szInstance as LPCOLESTR, byval Filter as const IID const ptr) as HRESULT
 1322 declare sub IFilterMapper2_UnregisterFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1323 declare function IFilterMapper2_RegisterFilter_Proxy(byval This as IFilterMapper2 ptr, byval clsidFilter as const IID const ptr, byval Name as LPCWSTR, byval ppMoniker as IMoniker ptr ptr, byval pclsidCategory as const CLSID ptr, byval szInstance as LPCOLESTR, byval prf2 as const REGFILTER2 ptr) as HRESULT
 1324 declare sub IFilterMapper2_RegisterFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1325 declare function IFilterMapper2_EnumMatchingFilters_Proxy(byval This as IFilterMapper2 ptr, byval ppEnum as IEnumMoniker ptr ptr, byval dwFlags as DWORD, byval bExactMatch as WINBOOL, byval dwMerit as DWORD, byval bInputNeeded as WINBOOL, byval cInputTypes as DWORD, byval pInputTypes as const GUID ptr, byval pMedIn as const REGPINMEDIUM ptr, byval pPinCategoryIn as const CLSID ptr, byval bRender as WINBOOL, byval bOutputNeeded as WINBOOL, byval cOutputTypes as DWORD, byval pOutputTypes as const GUID ptr, byval pMedOut as const REGPINMEDIUM ptr, byval pPinCategoryOut as const CLSID ptr) as HRESULT
 1326 declare sub IFilterMapper2_EnumMatchingFilters_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1327 #define __IFilterMapper3_INTERFACE_DEFINED__
 1328 extern IID_IFilterMapper3 as const GUID
 1329 type IFilterMapper3 as IFilterMapper3_
 1330 
 1331 type IFilterMapper3Vtbl
 1332     QueryInterface as function(byval This as IFilterMapper3 ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1333     AddRef as function(byval This as IFilterMapper3 ptr) as ULONG
 1334     Release as function(byval This as IFilterMapper3 ptr) as ULONG
 1335     CreateCategory as function(byval This as IFilterMapper3 ptr, byval clsidCategory as const IID const ptr, byval dwCategoryMerit as DWORD, byval Description as LPCWSTR) as HRESULT
 1336     UnregisterFilter as function(byval This as IFilterMapper3 ptr, byval pclsidCategory as const CLSID ptr, byval szInstance as LPCOLESTR, byval Filter as const IID const ptr) as HRESULT
 1337     RegisterFilter as function(byval This as IFilterMapper3 ptr, byval clsidFilter as const IID const ptr, byval Name as LPCWSTR, byval ppMoniker as IMoniker ptr ptr, byval pclsidCategory as const CLSID ptr, byval szInstance as LPCOLESTR, byval prf2 as const REGFILTER2 ptr) as HRESULT
 1338     EnumMatchingFilters as function(byval This as IFilterMapper3 ptr, byval ppEnum as IEnumMoniker ptr ptr, byval dwFlags as DWORD, byval bExactMatch as WINBOOL, byval dwMerit as DWORD, byval bInputNeeded as WINBOOL, byval cInputTypes as DWORD, byval pInputTypes as const GUID ptr, byval pMedIn as const REGPINMEDIUM ptr, byval pPinCategoryIn as const CLSID ptr, byval bRender as WINBOOL, byval bOutputNeeded as WINBOOL, byval cOutputTypes as DWORD, byval pOutputTypes as const GUID ptr, byval pMedOut as const REGPINMEDIUM ptr, byval pPinCategoryOut as const CLSID ptr) as HRESULT
 1339     GetICreateDevEnum as function(byval This as IFilterMapper3 ptr, byval ppEnum as ICreateDevEnum ptr ptr) as HRESULT
 1340 end type
 1341 
 1342 type IFilterMapper3_
 1343     lpVtbl as IFilterMapper3Vtbl ptr
 1344 end type
 1345 
 1346 #define IFilterMapper3_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1347 #define IFilterMapper3_AddRef(This) (This)->lpVtbl->AddRef(This)
 1348 #define IFilterMapper3_Release(This) (This)->lpVtbl->Release(This)
 1349 #define IFilterMapper3_CreateCategory(This, clsidCategory, dwCategoryMerit, Description) (This)->lpVtbl->CreateCategory(This, clsidCategory, dwCategoryMerit, Description)
 1350 #define IFilterMapper3_UnregisterFilter(This, pclsidCategory, szInstance, Filter) (This)->lpVtbl->UnregisterFilter(This, pclsidCategory, szInstance, Filter)
 1351 #define IFilterMapper3_RegisterFilter(This, clsidFilter, Name, ppMoniker, pclsidCategory, szInstance, prf2) (This)->lpVtbl->RegisterFilter(This, clsidFilter, Name, ppMoniker, pclsidCategory, szInstance, prf2)
 1352 #define IFilterMapper3_EnumMatchingFilters(This, ppEnum, dwFlags, bExactMatch, dwMerit, bInputNeeded, cInputTypes, pInputTypes, pMedIn, pPinCategoryIn, bRender, bOutputNeeded, cOutputTypes, pOutputTypes, pMedOut, pPinCategoryOut) (This)->lpVtbl->EnumMatchingFilters(This, ppEnum, dwFlags, bExactMatch, dwMerit, bInputNeeded, cInputTypes, pInputTypes, pMedIn, pPinCategoryIn, bRender, bOutputNeeded, cOutputTypes, pOutputTypes, pMedOut, pPinCategoryOut)
 1353 #define IFilterMapper3_GetICreateDevEnum(This, ppEnum) (This)->lpVtbl->GetICreateDevEnum(This, ppEnum)
 1354 declare function IFilterMapper3_GetICreateDevEnum_Proxy(byval This as IFilterMapper3 ptr, byval ppEnum as ICreateDevEnum ptr ptr) as HRESULT
 1355 declare sub IFilterMapper3_GetICreateDevEnum_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1356 
 1357 type tagQualityMessageType as long
 1358 enum
 1359     Famine = 0
 1360     Flood = 1
 1361 end enum
 1362 
 1363 type QualityMessageType as tagQualityMessageType
 1364 
 1365 type tagQuality
 1366     as QualityMessageType Type
 1367     Proportion as LONG
 1368     Late as REFERENCE_TIME
 1369     TimeStamp as REFERENCE_TIME
 1370 end type
 1371 
 1372 type Quality as tagQuality
 1373 type IQualityControl as IQualityControl_
 1374 type PQUALITYCONTROL as IQualityControl ptr
 1375 #define __IQualityControl_INTERFACE_DEFINED__
 1376 extern IID_IQualityControl as const GUID
 1377 
 1378 type IQualityControlVtbl
 1379     QueryInterface as function(byval This as IQualityControl ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1380     AddRef as function(byval This as IQualityControl ptr) as ULONG
 1381     Release as function(byval This as IQualityControl ptr) as ULONG
 1382     Notify as function(byval This as IQualityControl ptr, byval pSelf as IBaseFilter ptr, byval q as Quality) as HRESULT
 1383     SetSink as function(byval This as IQualityControl ptr, byval piqc as IQualityControl ptr) as HRESULT
 1384 end type
 1385 
 1386 type IQualityControl_
 1387     lpVtbl as IQualityControlVtbl ptr
 1388 end type
 1389 
 1390 #define IQualityControl_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1391 #define IQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
 1392 #define IQualityControl_Release(This) (This)->lpVtbl->Release(This)
 1393 #define IQualityControl_Notify(This, pSelf, q) (This)->lpVtbl->Notify(This, pSelf, q)
 1394 #define IQualityControl_SetSink(This, piqc) (This)->lpVtbl->SetSink(This, piqc)
 1395 
 1396 declare function IQualityControl_Notify_Proxy(byval This as IQualityControl ptr, byval pSelf as IBaseFilter ptr, byval q as Quality) as HRESULT
 1397 declare sub IQualityControl_Notify_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1398 declare function IQualityControl_SetSink_Proxy(byval This as IQualityControl ptr, byval piqc as IQualityControl ptr) as HRESULT
 1399 declare sub IQualityControl_SetSink_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1400 
 1401 enum
 1402     CK_NOCOLORKEY = &h0
 1403     CK_INDEX = &h1
 1404     CK_RGB = &h2
 1405 end enum
 1406 
 1407 type tagCOLORKEY
 1408     KeyType as DWORD
 1409     PaletteIndex as DWORD
 1410     LowColorValue as COLORREF
 1411     HighColorValue as COLORREF
 1412 end type
 1413 
 1414 type COLORKEY as tagCOLORKEY
 1415 
 1416 enum
 1417     ADVISE_NONE = &h0
 1418     ADVISE_CLIPPING = &h1
 1419     ADVISE_PALETTE = &h2
 1420     ADVISE_COLORKEY = &h4
 1421     ADVISE_POSITION = &h8
 1422     ADVISE_DISPLAY_CHANGE = &h10
 1423 end enum
 1424 
 1425 const ADVISE_ALL = ((ADVISE_CLIPPING or ADVISE_PALETTE) or ADVISE_COLORKEY) or ADVISE_POSITION
 1426 const ADVISE_ALL2 = ADVISE_ALL or ADVISE_DISPLAY_CHANGE
 1427 #define __IOverlayNotify_INTERFACE_DEFINED__
 1428 extern IID_IOverlayNotify as const GUID
 1429 type IOverlayNotify as IOverlayNotify_
 1430 
 1431 type IOverlayNotifyVtbl
 1432     QueryInterface as function(byval This as IOverlayNotify ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1433     AddRef as function(byval This as IOverlayNotify ptr) as ULONG
 1434     Release as function(byval This as IOverlayNotify ptr) as ULONG
 1435     OnPaletteChange as function(byval This as IOverlayNotify ptr, byval dwColors as DWORD, byval pPalette as const PALETTEENTRY ptr) as HRESULT
 1436     OnClipChange as function(byval This as IOverlayNotify ptr, byval pSourceRect as const RECT ptr, byval pDestinationRect as const RECT ptr, byval pRgnData as const RGNDATA ptr) as HRESULT
 1437     OnColorKeyChange as function(byval This as IOverlayNotify ptr, byval pColorKey as const COLORKEY ptr) as HRESULT
 1438     OnPositionChange as function(byval This as IOverlayNotify ptr, byval pSourceRect as const RECT ptr, byval pDestinationRect as const RECT ptr) as HRESULT
 1439 end type
 1440 
 1441 type IOverlayNotify_
 1442     lpVtbl as IOverlayNotifyVtbl ptr
 1443 end type
 1444 
 1445 #define IOverlayNotify_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1446 #define IOverlayNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
 1447 #define IOverlayNotify_Release(This) (This)->lpVtbl->Release(This)
 1448 #define IOverlayNotify_OnPaletteChange(This, dwColors, pPalette) (This)->lpVtbl->OnPaletteChange(This, dwColors, pPalette)
 1449 #define IOverlayNotify_OnClipChange(This, pSourceRect, pDestinationRect, pRgnData) (This)->lpVtbl->OnClipChange(This, pSourceRect, pDestinationRect, pRgnData)
 1450 #define IOverlayNotify_OnColorKeyChange(This, pColorKey) (This)->lpVtbl->OnColorKeyChange(This, pColorKey)
 1451 #define IOverlayNotify_OnPositionChange(This, pSourceRect, pDestinationRect) (This)->lpVtbl->OnPositionChange(This, pSourceRect, pDestinationRect)
 1452 
 1453 declare function IOverlayNotify_OnPaletteChange_Proxy(byval This as IOverlayNotify ptr, byval dwColors as DWORD, byval pPalette as const PALETTEENTRY ptr) as HRESULT
 1454 declare sub IOverlayNotify_OnPaletteChange_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1455 declare function IOverlayNotify_OnClipChange_Proxy(byval This as IOverlayNotify ptr, byval pSourceRect as const RECT ptr, byval pDestinationRect as const RECT ptr, byval pRgnData as const RGNDATA ptr) as HRESULT
 1456 declare sub IOverlayNotify_OnClipChange_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1457 declare function IOverlayNotify_OnColorKeyChange_Proxy(byval This as IOverlayNotify ptr, byval pColorKey as const COLORKEY ptr) as HRESULT
 1458 declare sub IOverlayNotify_OnColorKeyChange_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1459 declare function IOverlayNotify_OnPositionChange_Proxy(byval This as IOverlayNotify ptr, byval pSourceRect as const RECT ptr, byval pDestinationRect as const RECT ptr) as HRESULT
 1460 declare sub IOverlayNotify_OnPositionChange_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1461 type POVERLAYNOTIFY as IOverlayNotify ptr
 1462 #define __IOverlayNotify2_INTERFACE_DEFINED__
 1463 extern IID_IOverlayNotify2 as const GUID
 1464 type IOverlayNotify2 as IOverlayNotify2_
 1465 
 1466 type IOverlayNotify2Vtbl
 1467     QueryInterface as function(byval This as IOverlayNotify2 ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1468     AddRef as function(byval This as IOverlayNotify2 ptr) as ULONG
 1469     Release as function(byval This as IOverlayNotify2 ptr) as ULONG
 1470     OnPaletteChange as function(byval This as IOverlayNotify2 ptr, byval dwColors as DWORD, byval pPalette as const PALETTEENTRY ptr) as HRESULT
 1471     OnClipChange as function(byval This as IOverlayNotify2 ptr, byval pSourceRect as const RECT ptr, byval pDestinationRect as const RECT ptr, byval pRgnData as const RGNDATA ptr) as HRESULT
 1472     OnColorKeyChange as function(byval This as IOverlayNotify2 ptr, byval pColorKey as const COLORKEY ptr) as HRESULT
 1473     OnPositionChange as function(byval This as IOverlayNotify2 ptr, byval pSourceRect as const RECT ptr, byval pDestinationRect as const RECT ptr) as HRESULT
 1474     OnDisplayChange as function(byval This as IOverlayNotify2 ptr, byval hMonitor as HMONITOR) as HRESULT
 1475 end type
 1476 
 1477 type IOverlayNotify2_
 1478     lpVtbl as IOverlayNotify2Vtbl ptr
 1479 end type
 1480 
 1481 #define IOverlayNotify2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1482 #define IOverlayNotify2_AddRef(This) (This)->lpVtbl->AddRef(This)
 1483 #define IOverlayNotify2_Release(This) (This)->lpVtbl->Release(This)
 1484 #define IOverlayNotify2_OnPaletteChange(This, dwColors, pPalette) (This)->lpVtbl->OnPaletteChange(This, dwColors, pPalette)
 1485 #define IOverlayNotify2_OnClipChange(This, pSourceRect, pDestinationRect, pRgnData) (This)->lpVtbl->OnClipChange(This, pSourceRect, pDestinationRect, pRgnData)
 1486 #define IOverlayNotify2_OnColorKeyChange(This, pColorKey) (This)->lpVtbl->OnColorKeyChange(This, pColorKey)
 1487 #define IOverlayNotify2_OnPositionChange(This, pSourceRect, pDestinationRect) (This)->lpVtbl->OnPositionChange(This, pSourceRect, pDestinationRect)
 1488 #define IOverlayNotify2_OnDisplayChange(This, hMonitor) (This)->lpVtbl->OnDisplayChange(This, hMonitor)
 1489 declare function IOverlayNotify2_OnDisplayChange_Proxy(byval This as IOverlayNotify2 ptr, byval hMonitor as HMONITOR) as HRESULT
 1490 declare sub IOverlayNotify2_OnDisplayChange_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1491 type POVERLAYNOTIFY2 as IOverlayNotify2 ptr
 1492 #define __IOverlay_INTERFACE_DEFINED__
 1493 extern IID_IOverlay as const GUID
 1494 type IOverlay as IOverlay_
 1495 
 1496 type IOverlayVtbl
 1497     QueryInterface as function(byval This as IOverlay ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1498     AddRef as function(byval This as IOverlay ptr) as ULONG
 1499     Release as function(byval This as IOverlay ptr) as ULONG
 1500     GetPalette as function(byval This as IOverlay ptr, byval pdwColors as DWORD ptr, byval ppPalette as PALETTEENTRY ptr ptr) as HRESULT
 1501     SetPalette as function(byval This as IOverlay ptr, byval dwColors as DWORD, byval pPalette as PALETTEENTRY ptr) as HRESULT
 1502     GetDefaultColorKey as function(byval This as IOverlay ptr, byval pColorKey as COLORKEY ptr) as HRESULT
 1503     GetColorKey as function(byval This as IOverlay ptr, byval pColorKey as COLORKEY ptr) as HRESULT
 1504     SetColorKey as function(byval This as IOverlay ptr, byval pColorKey as COLORKEY ptr) as HRESULT
 1505     GetWindowHandle as function(byval This as IOverlay ptr, byval pHwnd as HWND ptr) as HRESULT
 1506     GetClipList as function(byval This as IOverlay ptr, byval pSourceRect as RECT ptr, byval pDestinationRect as RECT ptr, byval ppRgnData as RGNDATA ptr ptr) as HRESULT
 1507     GetVideoPosition as function(byval This as IOverlay ptr, byval pSourceRect as RECT ptr, byval pDestinationRect as RECT ptr) as HRESULT
 1508     Advise as function(byval This as IOverlay ptr, byval pOverlayNotify as IOverlayNotify ptr, byval dwInterests as DWORD) as HRESULT
 1509     Unadvise as function(byval This as IOverlay ptr) as HRESULT
 1510 end type
 1511 
 1512 type IOverlay_
 1513     lpVtbl as IOverlayVtbl ptr
 1514 end type
 1515 
 1516 #define IOverlay_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1517 #define IOverlay_AddRef(This) (This)->lpVtbl->AddRef(This)
 1518 #define IOverlay_Release(This) (This)->lpVtbl->Release(This)
 1519 #define IOverlay_GetPalette(This, pdwColors, ppPalette) (This)->lpVtbl->GetPalette(This, pdwColors, ppPalette)
 1520 #define IOverlay_SetPalette(This, dwColors, pPalette) (This)->lpVtbl->SetPalette(This, dwColors, pPalette)
 1521 #define IOverlay_GetDefaultColorKey(This, pColorKey) (This)->lpVtbl->GetDefaultColorKey(This, pColorKey)
 1522 #define IOverlay_GetColorKey(This, pColorKey) (This)->lpVtbl->GetColorKey(This, pColorKey)
 1523 #define IOverlay_SetColorKey(This, pColorKey) (This)->lpVtbl->SetColorKey(This, pColorKey)
 1524 #define IOverlay_GetWindowHandle(This, pHwnd) (This)->lpVtbl->GetWindowHandle(This, pHwnd)
 1525 #define IOverlay_GetClipList(This, pSourceRect, pDestinationRect, ppRgnData) (This)->lpVtbl->GetClipList(This, pSourceRect, pDestinationRect, ppRgnData)
 1526 #define IOverlay_GetVideoPosition(This, pSourceRect, pDestinationRect) (This)->lpVtbl->GetVideoPosition(This, pSourceRect, pDestinationRect)
 1527 #define IOverlay_Advise(This, pOverlayNotify, dwInterests) (This)->lpVtbl->Advise(This, pOverlayNotify, dwInterests)
 1528 #define IOverlay_Unadvise(This) (This)->lpVtbl->Unadvise(This)
 1529 
 1530 declare function IOverlay_GetPalette_Proxy(byval This as IOverlay ptr, byval pdwColors as DWORD ptr, byval ppPalette as PALETTEENTRY ptr ptr) as HRESULT
 1531 declare sub IOverlay_GetPalette_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1532 declare function IOverlay_SetPalette_Proxy(byval This as IOverlay ptr, byval dwColors as DWORD, byval pPalette as PALETTEENTRY ptr) as HRESULT
 1533 declare sub IOverlay_SetPalette_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1534 declare function IOverlay_GetDefaultColorKey_Proxy(byval This as IOverlay ptr, byval pColorKey as COLORKEY ptr) as HRESULT
 1535 declare sub IOverlay_GetDefaultColorKey_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1536 declare function IOverlay_GetColorKey_Proxy(byval This as IOverlay ptr, byval pColorKey as COLORKEY ptr) as HRESULT
 1537 declare sub IOverlay_GetColorKey_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1538 declare function IOverlay_SetColorKey_Proxy(byval This as IOverlay ptr, byval pColorKey as COLORKEY ptr) as HRESULT
 1539 declare sub IOverlay_SetColorKey_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1540 declare function IOverlay_GetWindowHandle_Proxy(byval This as IOverlay ptr, byval pHwnd as HWND ptr) as HRESULT
 1541 declare sub IOverlay_GetWindowHandle_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1542 declare function IOverlay_GetClipList_Proxy(byval This as IOverlay ptr, byval pSourceRect as RECT ptr, byval pDestinationRect as RECT ptr, byval ppRgnData as RGNDATA ptr ptr) as HRESULT
 1543 declare sub IOverlay_GetClipList_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1544 declare function IOverlay_GetVideoPosition_Proxy(byval This as IOverlay ptr, byval pSourceRect as RECT ptr, byval pDestinationRect as RECT ptr) as HRESULT
 1545 declare sub IOverlay_GetVideoPosition_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1546 declare function IOverlay_Advise_Proxy(byval This as IOverlay ptr, byval pOverlayNotify as IOverlayNotify ptr, byval dwInterests as DWORD) as HRESULT
 1547 declare sub IOverlay_Advise_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1548 declare function IOverlay_Unadvise_Proxy(byval This as IOverlay ptr) as HRESULT
 1549 declare sub IOverlay_Unadvise_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1550 type POVERLAY as IOverlay ptr
 1551 #define __IMediaEventSink_INTERFACE_DEFINED__
 1552 extern IID_IMediaEventSink as const GUID
 1553 type IMediaEventSink as IMediaEventSink_
 1554 
 1555 type IMediaEventSinkVtbl
 1556     QueryInterface as function(byval This as IMediaEventSink ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1557     AddRef as function(byval This as IMediaEventSink ptr) as ULONG
 1558     Release as function(byval This as IMediaEventSink ptr) as ULONG
 1559     Notify as function(byval This as IMediaEventSink ptr, byval EventCode as LONG, byval EventParam1 as LONG_PTR, byval EventParam2 as LONG_PTR) as HRESULT
 1560 end type
 1561 
 1562 type IMediaEventSink_
 1563     lpVtbl as IMediaEventSinkVtbl ptr
 1564 end type
 1565 
 1566 #define IMediaEventSink_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1567 #define IMediaEventSink_AddRef(This) (This)->lpVtbl->AddRef(This)
 1568 #define IMediaEventSink_Release(This) (This)->lpVtbl->Release(This)
 1569 #define IMediaEventSink_Notify(This, EventCode, EventParam1, EventParam2) (This)->lpVtbl->Notify(This, EventCode, EventParam1, EventParam2)
 1570 declare function IMediaEventSink_Notify_Proxy(byval This as IMediaEventSink ptr, byval EventCode as LONG, byval EventParam1 as LONG_PTR, byval EventParam2 as LONG_PTR) as HRESULT
 1571 declare sub IMediaEventSink_Notify_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1572 type PMEDIAEVENTSINK as IMediaEventSink ptr
 1573 #define __IFileSourceFilter_INTERFACE_DEFINED__
 1574 extern IID_IFileSourceFilter as const GUID
 1575 type IFileSourceFilter as IFileSourceFilter_
 1576 
 1577 type IFileSourceFilterVtbl
 1578     QueryInterface as function(byval This as IFileSourceFilter ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1579     AddRef as function(byval This as IFileSourceFilter ptr) as ULONG
 1580     Release as function(byval This as IFileSourceFilter ptr) as ULONG
 1581     Load as function(byval This as IFileSourceFilter ptr, byval pszFileName as LPCOLESTR, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 1582     GetCurFile as function(byval This as IFileSourceFilter ptr, byval ppszFileName as LPOLESTR ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
 1583 end type
 1584 
 1585 type IFileSourceFilter_
 1586     lpVtbl as IFileSourceFilterVtbl ptr
 1587 end type
 1588 
 1589 #define IFileSourceFilter_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1590 #define IFileSourceFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
 1591 #define IFileSourceFilter_Release(This) (This)->lpVtbl->Release(This)
 1592 #define IFileSourceFilter_Load(This, pszFileName, pmt) (This)->lpVtbl->Load(This, pszFileName, pmt)
 1593 #define IFileSourceFilter_GetCurFile(This, ppszFileName, pmt) (This)->lpVtbl->GetCurFile(This, ppszFileName, pmt)
 1594 
 1595 declare function IFileSourceFilter_Load_Proxy(byval This as IFileSourceFilter ptr, byval pszFileName as LPCOLESTR, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 1596 declare sub IFileSourceFilter_Load_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1597 declare function IFileSourceFilter_GetCurFile_Proxy(byval This as IFileSourceFilter ptr, byval ppszFileName as LPOLESTR ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
 1598 declare sub IFileSourceFilter_GetCurFile_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1599 type PFILTERFILESOURCE as IFileSourceFilter ptr
 1600 #define __IFileSinkFilter_INTERFACE_DEFINED__
 1601 extern IID_IFileSinkFilter as const GUID
 1602 type IFileSinkFilter as IFileSinkFilter_
 1603 
 1604 type IFileSinkFilterVtbl
 1605     QueryInterface as function(byval This as IFileSinkFilter ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1606     AddRef as function(byval This as IFileSinkFilter ptr) as ULONG
 1607     Release as function(byval This as IFileSinkFilter ptr) as ULONG
 1608     SetFileName as function(byval This as IFileSinkFilter ptr, byval pszFileName as LPCOLESTR, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 1609     GetCurFile as function(byval This as IFileSinkFilter ptr, byval ppszFileName as LPOLESTR ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
 1610 end type
 1611 
 1612 type IFileSinkFilter_
 1613     lpVtbl as IFileSinkFilterVtbl ptr
 1614 end type
 1615 
 1616 #define IFileSinkFilter_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1617 #define IFileSinkFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
 1618 #define IFileSinkFilter_Release(This) (This)->lpVtbl->Release(This)
 1619 #define IFileSinkFilter_SetFileName(This, pszFileName, pmt) (This)->lpVtbl->SetFileName(This, pszFileName, pmt)
 1620 #define IFileSinkFilter_GetCurFile(This, ppszFileName, pmt) (This)->lpVtbl->GetCurFile(This, ppszFileName, pmt)
 1621 
 1622 declare function IFileSinkFilter_SetFileName_Proxy(byval This as IFileSinkFilter ptr, byval pszFileName as LPCOLESTR, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 1623 declare sub IFileSinkFilter_SetFileName_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1624 declare function IFileSinkFilter_GetCurFile_Proxy(byval This as IFileSinkFilter ptr, byval ppszFileName as LPOLESTR ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
 1625 declare sub IFileSinkFilter_GetCurFile_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1626 type PFILTERFILESINK as IFileSinkFilter ptr
 1627 #define __IFileSinkFilter2_INTERFACE_DEFINED__
 1628 extern IID_IFileSinkFilter2 as const GUID
 1629 type IFileSinkFilter2 as IFileSinkFilter2_
 1630 
 1631 type IFileSinkFilter2Vtbl
 1632     QueryInterface as function(byval This as IFileSinkFilter2 ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1633     AddRef as function(byval This as IFileSinkFilter2 ptr) as ULONG
 1634     Release as function(byval This as IFileSinkFilter2 ptr) as ULONG
 1635     SetFileName as function(byval This as IFileSinkFilter2 ptr, byval pszFileName as LPCOLESTR, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 1636     GetCurFile as function(byval This as IFileSinkFilter2 ptr, byval ppszFileName as LPOLESTR ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
 1637     SetMode as function(byval This as IFileSinkFilter2 ptr, byval dwFlags as DWORD) as HRESULT
 1638     GetMode as function(byval This as IFileSinkFilter2 ptr, byval pdwFlags as DWORD ptr) as HRESULT
 1639 end type
 1640 
 1641 type IFileSinkFilter2_
 1642     lpVtbl as IFileSinkFilter2Vtbl ptr
 1643 end type
 1644 
 1645 #define IFileSinkFilter2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1646 #define IFileSinkFilter2_AddRef(This) (This)->lpVtbl->AddRef(This)
 1647 #define IFileSinkFilter2_Release(This) (This)->lpVtbl->Release(This)
 1648 #define IFileSinkFilter2_SetFileName(This, pszFileName, pmt) (This)->lpVtbl->SetFileName(This, pszFileName, pmt)
 1649 #define IFileSinkFilter2_GetCurFile(This, ppszFileName, pmt) (This)->lpVtbl->GetCurFile(This, ppszFileName, pmt)
 1650 #define IFileSinkFilter2_SetMode(This, dwFlags) (This)->lpVtbl->SetMode(This, dwFlags)
 1651 #define IFileSinkFilter2_GetMode(This, pdwFlags) (This)->lpVtbl->GetMode(This, pdwFlags)
 1652 
 1653 declare function IFileSinkFilter2_SetMode_Proxy(byval This as IFileSinkFilter2 ptr, byval dwFlags as DWORD) as HRESULT
 1654 declare sub IFileSinkFilter2_SetMode_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1655 declare function IFileSinkFilter2_GetMode_Proxy(byval This as IFileSinkFilter2 ptr, byval pdwFlags as DWORD ptr) as HRESULT
 1656 declare sub IFileSinkFilter2_GetMode_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1657 type PFILESINKFILTER2 as IFileSinkFilter2 ptr
 1658 
 1659 type __WIDL_strmif_generated_name_00000008 as long
 1660 enum
 1661     AM_FILE_OVERWRITE = &h1
 1662 end enum
 1663 
 1664 type AM_FILESINK_FLAGS as __WIDL_strmif_generated_name_00000008
 1665 #define __IGraphBuilder_INTERFACE_DEFINED__
 1666 extern IID_IGraphBuilder as const GUID
 1667 type IGraphBuilder as IGraphBuilder_
 1668 
 1669 type IGraphBuilderVtbl
 1670     QueryInterface as function(byval This as IGraphBuilder ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1671     AddRef as function(byval This as IGraphBuilder ptr) as ULONG
 1672     Release as function(byval This as IGraphBuilder ptr) as ULONG
 1673     AddFilter as function(byval This as IGraphBuilder ptr, byval pFilter as IBaseFilter ptr, byval pName as LPCWSTR) as HRESULT
 1674     RemoveFilter as function(byval This as IGraphBuilder ptr, byval pFilter as IBaseFilter ptr) as HRESULT
 1675     EnumFilters as function(byval This as IGraphBuilder ptr, byval ppEnum as IEnumFilters ptr ptr) as HRESULT
 1676     FindFilterByName as function(byval This as IGraphBuilder ptr, byval pName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
 1677     ConnectDirect as function(byval This as IGraphBuilder ptr, byval ppinOut as IPin ptr, byval ppinIn as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 1678     Reconnect as function(byval This as IGraphBuilder ptr, byval ppin as IPin ptr) as HRESULT
 1679     Disconnect as function(byval This as IGraphBuilder ptr, byval ppin as IPin ptr) as HRESULT
 1680     SetDefaultSyncSource as function(byval This as IGraphBuilder ptr) as HRESULT
 1681     Connect as function(byval This as IGraphBuilder ptr, byval ppinOut as IPin ptr, byval ppinIn as IPin ptr) as HRESULT
 1682     Render as function(byval This as IGraphBuilder ptr, byval ppinOut as IPin ptr) as HRESULT
 1683     RenderFile as function(byval This as IGraphBuilder ptr, byval lpcwstrFile as LPCWSTR, byval lpcwstrPlayList as LPCWSTR) as HRESULT
 1684     AddSourceFilter as function(byval This as IGraphBuilder ptr, byval lpcwstrFileName as LPCWSTR, byval lpcwstrFilterName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
 1685     SetLogFile as function(byval This as IGraphBuilder ptr, byval hFile as DWORD_PTR) as HRESULT
 1686     Abort as function(byval This as IGraphBuilder ptr) as HRESULT
 1687     ShouldOperationContinue as function(byval This as IGraphBuilder ptr) as HRESULT
 1688 end type
 1689 
 1690 type IGraphBuilder_
 1691     lpVtbl as IGraphBuilderVtbl ptr
 1692 end type
 1693 
 1694 #define IGraphBuilder_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1695 #define IGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
 1696 #define IGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
 1697 #define IGraphBuilder_AddFilter(This, pFilter, pName) (This)->lpVtbl->AddFilter(This, pFilter, pName)
 1698 #define IGraphBuilder_RemoveFilter(This, pFilter) (This)->lpVtbl->RemoveFilter(This, pFilter)
 1699 #define IGraphBuilder_EnumFilters(This, ppEnum) (This)->lpVtbl->EnumFilters(This, ppEnum)
 1700 #define IGraphBuilder_FindFilterByName(This, pName, ppFilter) (This)->lpVtbl->FindFilterByName(This, pName, ppFilter)
 1701 #define IGraphBuilder_ConnectDirect(This, ppinOut, ppinIn, pmt) (This)->lpVtbl->ConnectDirect(This, ppinOut, ppinIn, pmt)
 1702 #define IGraphBuilder_Reconnect(This, ppin) (This)->lpVtbl->Reconnect(This, ppin)
 1703 #define IGraphBuilder_Disconnect(This, ppin) (This)->lpVtbl->Disconnect(This, ppin)
 1704 #define IGraphBuilder_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
 1705 #define IGraphBuilder_Connect(This, ppinOut, ppinIn) (This)->lpVtbl->Connect(This, ppinOut, ppinIn)
 1706 #define IGraphBuilder_Render(This, ppinOut) (This)->lpVtbl->Render(This, ppinOut)
 1707 #define IGraphBuilder_RenderFile(This, lpcwstrFile, lpcwstrPlayList) (This)->lpVtbl->RenderFile(This, lpcwstrFile, lpcwstrPlayList)
 1708 #define IGraphBuilder_AddSourceFilter(This, lpcwstrFileName, lpcwstrFilterName, ppFilter) (This)->lpVtbl->AddSourceFilter(This, lpcwstrFileName, lpcwstrFilterName, ppFilter)
 1709 #define IGraphBuilder_SetLogFile(This, hFile) (This)->lpVtbl->SetLogFile(This, hFile)
 1710 #define IGraphBuilder_Abort(This) (This)->lpVtbl->Abort(This)
 1711 #define IGraphBuilder_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
 1712 
 1713 declare function IGraphBuilder_Connect_Proxy(byval This as IGraphBuilder ptr, byval ppinOut as IPin ptr, byval ppinIn as IPin ptr) as HRESULT
 1714 declare sub IGraphBuilder_Connect_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1715 declare function IGraphBuilder_Render_Proxy(byval This as IGraphBuilder ptr, byval ppinOut as IPin ptr) as HRESULT
 1716 declare sub IGraphBuilder_Render_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1717 declare function IGraphBuilder_RenderFile_Proxy(byval This as IGraphBuilder ptr, byval lpcwstrFile as LPCWSTR, byval lpcwstrPlayList as LPCWSTR) as HRESULT
 1718 declare sub IGraphBuilder_RenderFile_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1719 declare function IGraphBuilder_AddSourceFilter_Proxy(byval This as IGraphBuilder ptr, byval lpcwstrFileName as LPCWSTR, byval lpcwstrFilterName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
 1720 declare sub IGraphBuilder_AddSourceFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1721 declare function IGraphBuilder_SetLogFile_Proxy(byval This as IGraphBuilder ptr, byval hFile as DWORD_PTR) as HRESULT
 1722 declare sub IGraphBuilder_SetLogFile_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1723 declare function IGraphBuilder_Abort_Proxy(byval This as IGraphBuilder ptr) as HRESULT
 1724 declare sub IGraphBuilder_Abort_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1725 declare function IGraphBuilder_ShouldOperationContinue_Proxy(byval This as IGraphBuilder ptr) as HRESULT
 1726 declare sub IGraphBuilder_ShouldOperationContinue_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1727 #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
 1728 extern IID_ICaptureGraphBuilder as const GUID
 1729 type ICaptureGraphBuilder as ICaptureGraphBuilder_
 1730 type IAMCopyCaptureFileProgress as IAMCopyCaptureFileProgress_
 1731 
 1732 type ICaptureGraphBuilderVtbl
 1733     QueryInterface as function(byval This as ICaptureGraphBuilder ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1734     AddRef as function(byval This as ICaptureGraphBuilder ptr) as ULONG
 1735     Release as function(byval This as ICaptureGraphBuilder ptr) as ULONG
 1736     SetFiltergraph as function(byval This as ICaptureGraphBuilder ptr, byval pfg as IGraphBuilder ptr) as HRESULT
 1737     GetFiltergraph as function(byval This as ICaptureGraphBuilder ptr, byval ppfg as IGraphBuilder ptr ptr) as HRESULT
 1738     SetOutputFileName as function(byval This as ICaptureGraphBuilder ptr, byval pType as const GUID ptr, byval lpstrFile as LPCOLESTR, byval ppf as IBaseFilter ptr ptr, byval ppSink as IFileSinkFilter ptr ptr) as HRESULT
 1739     FindInterface as function(byval This as ICaptureGraphBuilder ptr, byval pCategory as const GUID ptr, byval pf as IBaseFilter ptr, byval riid as const IID const ptr, byval ppint as any ptr ptr) as HRESULT
 1740     RenderStream as function(byval This as ICaptureGraphBuilder ptr, byval pCategory as const GUID ptr, byval pSource as IUnknown ptr, byval pfCompressor as IBaseFilter ptr, byval pfRenderer as IBaseFilter ptr) as HRESULT
 1741     ControlStream as function(byval This as ICaptureGraphBuilder ptr, byval pCategory as const GUID ptr, byval pFilter as IBaseFilter ptr, byval pstart as REFERENCE_TIME ptr, byval pstop as REFERENCE_TIME ptr, byval wStartCookie as WORD, byval wStopCookie as WORD) as HRESULT
 1742     AllocCapFile as function(byval This as ICaptureGraphBuilder ptr, byval lpstr as LPCOLESTR, byval dwlSize as DWORDLONG) as HRESULT
 1743     CopyCaptureFile as function(byval This as ICaptureGraphBuilder ptr, byval lpwstrOld as LPOLESTR, byval lpwstrNew as LPOLESTR, byval fAllowEscAbort as long, byval pCallback as IAMCopyCaptureFileProgress ptr) as HRESULT
 1744 end type
 1745 
 1746 type ICaptureGraphBuilder_
 1747     lpVtbl as ICaptureGraphBuilderVtbl ptr
 1748 end type
 1749 
 1750 #define ICaptureGraphBuilder_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1751 #define ICaptureGraphBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
 1752 #define ICaptureGraphBuilder_Release(This) (This)->lpVtbl->Release(This)
 1753 #define ICaptureGraphBuilder_SetFiltergraph(This, pfg) (This)->lpVtbl->SetFiltergraph(This, pfg)
 1754 #define ICaptureGraphBuilder_GetFiltergraph(This, ppfg) (This)->lpVtbl->GetFiltergraph(This, ppfg)
 1755 #define ICaptureGraphBuilder_SetOutputFileName(This, pType, lpstrFile, ppf, ppSink) (This)->lpVtbl->SetOutputFileName(This, pType, lpstrFile, ppf, ppSink)
 1756 #define ICaptureGraphBuilder_FindInterface(This, pCategory, pf, riid, ppint) (This)->lpVtbl->FindInterface(This, pCategory, pf, riid, ppint)
 1757 #define ICaptureGraphBuilder_RenderStream(This, pCategory, pSource, pfCompressor, pfRenderer) (This)->lpVtbl->RenderStream(This, pCategory, pSource, pfCompressor, pfRenderer)
 1758 #define ICaptureGraphBuilder_ControlStream(This, pCategory, pFilter, pstart, pstop, wStartCookie, wStopCookie) (This)->lpVtbl->ControlStream(This, pCategory, pFilter, pstart, pstop, wStartCookie, wStopCookie)
 1759 #define ICaptureGraphBuilder_AllocCapFile(This, lpstr, dwlSize) (This)->lpVtbl->AllocCapFile(This, lpstr, dwlSize)
 1760 #define ICaptureGraphBuilder_CopyCaptureFile(This, lpwstrOld, lpwstrNew, fAllowEscAbort, pCallback) (This)->lpVtbl->CopyCaptureFile(This, lpwstrOld, lpwstrNew, fAllowEscAbort, pCallback)
 1761 
 1762 declare function ICaptureGraphBuilder_SetFiltergraph_Proxy(byval This as ICaptureGraphBuilder ptr, byval pfg as IGraphBuilder ptr) as HRESULT
 1763 declare sub ICaptureGraphBuilder_SetFiltergraph_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1764 declare function ICaptureGraphBuilder_GetFiltergraph_Proxy(byval This as ICaptureGraphBuilder ptr, byval ppfg as IGraphBuilder ptr ptr) as HRESULT
 1765 declare sub ICaptureGraphBuilder_GetFiltergraph_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1766 declare function ICaptureGraphBuilder_SetOutputFileName_Proxy(byval This as ICaptureGraphBuilder ptr, byval pType as const GUID ptr, byval lpstrFile as LPCOLESTR, byval ppf as IBaseFilter ptr ptr, byval ppSink as IFileSinkFilter ptr ptr) as HRESULT
 1767 declare sub ICaptureGraphBuilder_SetOutputFileName_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1768 declare function ICaptureGraphBuilder_RemoteFindInterface_Proxy(byval This as ICaptureGraphBuilder ptr, byval pCategory as const GUID ptr, byval pf as IBaseFilter ptr, byval riid as const IID const ptr, byval ppint as IUnknown ptr ptr) as HRESULT
 1769 declare sub ICaptureGraphBuilder_RemoteFindInterface_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1770 declare function ICaptureGraphBuilder_RenderStream_Proxy(byval This as ICaptureGraphBuilder ptr, byval pCategory as const GUID ptr, byval pSource as IUnknown ptr, byval pfCompressor as IBaseFilter ptr, byval pfRenderer as IBaseFilter ptr) as HRESULT
 1771 declare sub ICaptureGraphBuilder_RenderStream_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1772 declare function ICaptureGraphBuilder_ControlStream_Proxy(byval This as ICaptureGraphBuilder ptr, byval pCategory as const GUID ptr, byval pFilter as IBaseFilter ptr, byval pstart as REFERENCE_TIME ptr, byval pstop as REFERENCE_TIME ptr, byval wStartCookie as WORD, byval wStopCookie as WORD) as HRESULT
 1773 declare sub ICaptureGraphBuilder_ControlStream_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1774 declare function ICaptureGraphBuilder_AllocCapFile_Proxy(byval This as ICaptureGraphBuilder ptr, byval lpstr as LPCOLESTR, byval dwlSize as DWORDLONG) as HRESULT
 1775 declare sub ICaptureGraphBuilder_AllocCapFile_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1776 declare function ICaptureGraphBuilder_CopyCaptureFile_Proxy(byval This as ICaptureGraphBuilder ptr, byval lpwstrOld as LPOLESTR, byval lpwstrNew as LPOLESTR, byval fAllowEscAbort as long, byval pCallback as IAMCopyCaptureFileProgress ptr) as HRESULT
 1777 declare sub ICaptureGraphBuilder_CopyCaptureFile_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1778 declare function ICaptureGraphBuilder_FindInterface_Proxy(byval This as ICaptureGraphBuilder ptr, byval pCategory as const GUID ptr, byval pf as IBaseFilter ptr, byval riid as const IID const ptr, byval ppint as any ptr ptr) as HRESULT
 1779 declare function ICaptureGraphBuilder_FindInterface_Stub(byval This as ICaptureGraphBuilder ptr, byval pCategory as const GUID ptr, byval pf as IBaseFilter ptr, byval riid as const IID const ptr, byval ppint as IUnknown ptr ptr) as HRESULT
 1780 #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
 1781 extern IID_IAMCopyCaptureFileProgress as const GUID
 1782 
 1783 type IAMCopyCaptureFileProgressVtbl
 1784     QueryInterface as function(byval This as IAMCopyCaptureFileProgress ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1785     AddRef as function(byval This as IAMCopyCaptureFileProgress ptr) as ULONG
 1786     Release as function(byval This as IAMCopyCaptureFileProgress ptr) as ULONG
 1787     Progress as function(byval This as IAMCopyCaptureFileProgress ptr, byval iProgress as long) as HRESULT
 1788 end type
 1789 
 1790 type IAMCopyCaptureFileProgress_
 1791     lpVtbl as IAMCopyCaptureFileProgressVtbl ptr
 1792 end type
 1793 
 1794 #define IAMCopyCaptureFileProgress_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1795 #define IAMCopyCaptureFileProgress_AddRef(This) (This)->lpVtbl->AddRef(This)
 1796 #define IAMCopyCaptureFileProgress_Release(This) (This)->lpVtbl->Release(This)
 1797 #define IAMCopyCaptureFileProgress_Progress(This, iProgress) (This)->lpVtbl->Progress(This, iProgress)
 1798 declare function IAMCopyCaptureFileProgress_Progress_Proxy(byval This as IAMCopyCaptureFileProgress ptr, byval iProgress as long) as HRESULT
 1799 declare sub IAMCopyCaptureFileProgress_Progress_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1800 #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
 1801 extern IID_ICaptureGraphBuilder2 as const GUID
 1802 type ICaptureGraphBuilder2 as ICaptureGraphBuilder2_
 1803 
 1804 type ICaptureGraphBuilder2Vtbl
 1805     QueryInterface as function(byval This as ICaptureGraphBuilder2 ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1806     AddRef as function(byval This as ICaptureGraphBuilder2 ptr) as ULONG
 1807     Release as function(byval This as ICaptureGraphBuilder2 ptr) as ULONG
 1808     SetFiltergraph as function(byval This as ICaptureGraphBuilder2 ptr, byval pfg as IGraphBuilder ptr) as HRESULT
 1809     GetFiltergraph as function(byval This as ICaptureGraphBuilder2 ptr, byval ppfg as IGraphBuilder ptr ptr) as HRESULT
 1810     SetOutputFileName as function(byval This as ICaptureGraphBuilder2 ptr, byval pType as const GUID ptr, byval lpstrFile as LPCOLESTR, byval ppf as IBaseFilter ptr ptr, byval ppSink as IFileSinkFilter ptr ptr) as HRESULT
 1811     FindInterface as function(byval This as ICaptureGraphBuilder2 ptr, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval pf as IBaseFilter ptr, byval riid as const IID const ptr, byval ppint as any ptr ptr) as HRESULT
 1812     RenderStream as function(byval This as ICaptureGraphBuilder2 ptr, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval pSource as IUnknown ptr, byval pfCompressor as IBaseFilter ptr, byval pfRenderer as IBaseFilter ptr) as HRESULT
 1813     ControlStream as function(byval This as ICaptureGraphBuilder2 ptr, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval pFilter as IBaseFilter ptr, byval pstart as REFERENCE_TIME ptr, byval pstop as REFERENCE_TIME ptr, byval wStartCookie as WORD, byval wStopCookie as WORD) as HRESULT
 1814     AllocCapFile as function(byval This as ICaptureGraphBuilder2 ptr, byval lpstr as LPCOLESTR, byval dwlSize as DWORDLONG) as HRESULT
 1815     CopyCaptureFile as function(byval This as ICaptureGraphBuilder2 ptr, byval lpwstrOld as LPOLESTR, byval lpwstrNew as LPOLESTR, byval fAllowEscAbort as long, byval pCallback as IAMCopyCaptureFileProgress ptr) as HRESULT
 1816     FindPin as function(byval This as ICaptureGraphBuilder2 ptr, byval pSource as IUnknown ptr, byval pindir as PIN_DIRECTION, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval fUnconnected as WINBOOL, byval num as long, byval ppPin as IPin ptr ptr) as HRESULT
 1817 end type
 1818 
 1819 type ICaptureGraphBuilder2_
 1820     lpVtbl as ICaptureGraphBuilder2Vtbl ptr
 1821 end type
 1822 
 1823 #define ICaptureGraphBuilder2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1824 #define ICaptureGraphBuilder2_AddRef(This) (This)->lpVtbl->AddRef(This)
 1825 #define ICaptureGraphBuilder2_Release(This) (This)->lpVtbl->Release(This)
 1826 #define ICaptureGraphBuilder2_SetFiltergraph(This, pfg) (This)->lpVtbl->SetFiltergraph(This, pfg)
 1827 #define ICaptureGraphBuilder2_GetFiltergraph(This, ppfg) (This)->lpVtbl->GetFiltergraph(This, ppfg)
 1828 #define ICaptureGraphBuilder2_SetOutputFileName(This, pType, lpstrFile, ppf, ppSink) (This)->lpVtbl->SetOutputFileName(This, pType, lpstrFile, ppf, ppSink)
 1829 #define ICaptureGraphBuilder2_FindInterface(This, pCategory, pType, pf, riid, ppint) (This)->lpVtbl->FindInterface(This, pCategory, pType, pf, riid, ppint)
 1830 #define ICaptureGraphBuilder2_RenderStream(This, pCategory, pType, pSource, pfCompressor, pfRenderer) (This)->lpVtbl->RenderStream(This, pCategory, pType, pSource, pfCompressor, pfRenderer)
 1831 #define ICaptureGraphBuilder2_ControlStream(This, pCategory, pType, pFilter, pstart, pstop, wStartCookie, wStopCookie) (This)->lpVtbl->ControlStream(This, pCategory, pType, pFilter, pstart, pstop, wStartCookie, wStopCookie)
 1832 #define ICaptureGraphBuilder2_AllocCapFile(This, lpstr, dwlSize) (This)->lpVtbl->AllocCapFile(This, lpstr, dwlSize)
 1833 #define ICaptureGraphBuilder2_CopyCaptureFile(This, lpwstrOld, lpwstrNew, fAllowEscAbort, pCallback) (This)->lpVtbl->CopyCaptureFile(This, lpwstrOld, lpwstrNew, fAllowEscAbort, pCallback)
 1834 #define ICaptureGraphBuilder2_FindPin(This, pSource, pindir, pCategory, pType, fUnconnected, num, ppPin) (This)->lpVtbl->FindPin(This, pSource, pindir, pCategory, pType, fUnconnected, num, ppPin)
 1835 
 1836 declare function ICaptureGraphBuilder2_SetFiltergraph_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval pfg as IGraphBuilder ptr) as HRESULT
 1837 declare sub ICaptureGraphBuilder2_SetFiltergraph_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1838 declare function ICaptureGraphBuilder2_GetFiltergraph_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval ppfg as IGraphBuilder ptr ptr) as HRESULT
 1839 declare sub ICaptureGraphBuilder2_GetFiltergraph_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1840 declare function ICaptureGraphBuilder2_SetOutputFileName_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval pType as const GUID ptr, byval lpstrFile as LPCOLESTR, byval ppf as IBaseFilter ptr ptr, byval ppSink as IFileSinkFilter ptr ptr) as HRESULT
 1841 declare sub ICaptureGraphBuilder2_SetOutputFileName_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1842 declare function ICaptureGraphBuilder2_RemoteFindInterface_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval pf as IBaseFilter ptr, byval riid as const IID const ptr, byval ppint as IUnknown ptr ptr) as HRESULT
 1843 declare sub ICaptureGraphBuilder2_RemoteFindInterface_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1844 declare function ICaptureGraphBuilder2_RenderStream_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval pSource as IUnknown ptr, byval pfCompressor as IBaseFilter ptr, byval pfRenderer as IBaseFilter ptr) as HRESULT
 1845 declare sub ICaptureGraphBuilder2_RenderStream_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1846 declare function ICaptureGraphBuilder2_ControlStream_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval pFilter as IBaseFilter ptr, byval pstart as REFERENCE_TIME ptr, byval pstop as REFERENCE_TIME ptr, byval wStartCookie as WORD, byval wStopCookie as WORD) as HRESULT
 1847 declare sub ICaptureGraphBuilder2_ControlStream_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1848 declare function ICaptureGraphBuilder2_AllocCapFile_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval lpstr as LPCOLESTR, byval dwlSize as DWORDLONG) as HRESULT
 1849 declare sub ICaptureGraphBuilder2_AllocCapFile_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1850 declare function ICaptureGraphBuilder2_CopyCaptureFile_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval lpwstrOld as LPOLESTR, byval lpwstrNew as LPOLESTR, byval fAllowEscAbort as long, byval pCallback as IAMCopyCaptureFileProgress ptr) as HRESULT
 1851 declare sub ICaptureGraphBuilder2_CopyCaptureFile_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1852 declare function ICaptureGraphBuilder2_FindPin_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval pSource as IUnknown ptr, byval pindir as PIN_DIRECTION, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval fUnconnected as WINBOOL, byval num as long, byval ppPin as IPin ptr ptr) as HRESULT
 1853 declare sub ICaptureGraphBuilder2_FindPin_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1854 declare function ICaptureGraphBuilder2_FindInterface_Proxy(byval This as ICaptureGraphBuilder2 ptr, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval pf as IBaseFilter ptr, byval riid as const IID const ptr, byval ppint as any ptr ptr) as HRESULT
 1855 declare function ICaptureGraphBuilder2_FindInterface_Stub(byval This as ICaptureGraphBuilder2 ptr, byval pCategory as const GUID ptr, byval pType as const GUID ptr, byval pf as IBaseFilter ptr, byval riid as const IID const ptr, byval ppint as IUnknown ptr ptr) as HRESULT
 1856 #define __IConfigAviMux_INTERFACE_DEFINED__
 1857 extern IID_IConfigAviMux as const GUID
 1858 type IConfigAviMux as IConfigAviMux_
 1859 
 1860 type IConfigAviMuxVtbl
 1861     QueryInterface as function(byval This as IConfigAviMux ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1862     AddRef as function(byval This as IConfigAviMux ptr) as ULONG
 1863     Release as function(byval This as IConfigAviMux ptr) as ULONG
 1864     SetMasterStream as function(byval This as IConfigAviMux ptr, byval iStream as LONG) as HRESULT
 1865     GetMasterStream as function(byval This as IConfigAviMux ptr, byval pStream as LONG ptr) as HRESULT
 1866     SetOutputCompatibilityIndex as function(byval This as IConfigAviMux ptr, byval fOldIndex as WINBOOL) as HRESULT
 1867     GetOutputCompatibilityIndex as function(byval This as IConfigAviMux ptr, byval pfOldIndex as WINBOOL ptr) as HRESULT
 1868 end type
 1869 
 1870 type IConfigAviMux_
 1871     lpVtbl as IConfigAviMuxVtbl ptr
 1872 end type
 1873 
 1874 #define IConfigAviMux_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1875 #define IConfigAviMux_AddRef(This) (This)->lpVtbl->AddRef(This)
 1876 #define IConfigAviMux_Release(This) (This)->lpVtbl->Release(This)
 1877 #define IConfigAviMux_SetMasterStream(This, iStream) (This)->lpVtbl->SetMasterStream(This, iStream)
 1878 #define IConfigAviMux_GetMasterStream(This, pStream) (This)->lpVtbl->GetMasterStream(This, pStream)
 1879 #define IConfigAviMux_SetOutputCompatibilityIndex(This, fOldIndex) (This)->lpVtbl->SetOutputCompatibilityIndex(This, fOldIndex)
 1880 #define IConfigAviMux_GetOutputCompatibilityIndex(This, pfOldIndex) (This)->lpVtbl->GetOutputCompatibilityIndex(This, pfOldIndex)
 1881 
 1882 declare function IConfigAviMux_SetMasterStream_Proxy(byval This as IConfigAviMux ptr, byval iStream as LONG) as HRESULT
 1883 declare sub IConfigAviMux_SetMasterStream_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1884 declare function IConfigAviMux_GetMasterStream_Proxy(byval This as IConfigAviMux ptr, byval pStream as LONG ptr) as HRESULT
 1885 declare sub IConfigAviMux_GetMasterStream_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1886 declare function IConfigAviMux_SetOutputCompatibilityIndex_Proxy(byval This as IConfigAviMux ptr, byval fOldIndex as WINBOOL) as HRESULT
 1887 declare sub IConfigAviMux_SetOutputCompatibilityIndex_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1888 declare function IConfigAviMux_GetOutputCompatibilityIndex_Proxy(byval This as IConfigAviMux ptr, byval pfOldIndex as WINBOOL ptr) as HRESULT
 1889 declare sub IConfigAviMux_GetOutputCompatibilityIndex_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1890 #define __IConfigInterleaving_INTERFACE_DEFINED__
 1891 
 1892 type InterleavingMode as long
 1893 enum
 1894     INTERLEAVE_NONE = 0
 1895     INTERLEAVE_CAPTURE = 1
 1896     INTERLEAVE_FULL = 2
 1897     INTERLEAVE_NONE_BUFFERED = 3
 1898 end enum
 1899 
 1900 extern IID_IConfigInterleaving as const GUID
 1901 type IConfigInterleaving as IConfigInterleaving_
 1902 
 1903 type IConfigInterleavingVtbl
 1904     QueryInterface as function(byval This as IConfigInterleaving ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1905     AddRef as function(byval This as IConfigInterleaving ptr) as ULONG
 1906     Release as function(byval This as IConfigInterleaving ptr) as ULONG
 1907     put_Mode as function(byval This as IConfigInterleaving ptr, byval mode as InterleavingMode) as HRESULT
 1908     get_Mode as function(byval This as IConfigInterleaving ptr, byval pMode as InterleavingMode ptr) as HRESULT
 1909     put_Interleaving as function(byval This as IConfigInterleaving ptr, byval prtInterleave as const REFERENCE_TIME ptr, byval prtPreroll as const REFERENCE_TIME ptr) as HRESULT
 1910     get_Interleaving as function(byval This as IConfigInterleaving ptr, byval prtInterleave as REFERENCE_TIME ptr, byval prtPreroll as REFERENCE_TIME ptr) as HRESULT
 1911 end type
 1912 
 1913 type IConfigInterleaving_
 1914     lpVtbl as IConfigInterleavingVtbl ptr
 1915 end type
 1916 
 1917 #define IConfigInterleaving_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1918 #define IConfigInterleaving_AddRef(This) (This)->lpVtbl->AddRef(This)
 1919 #define IConfigInterleaving_Release(This) (This)->lpVtbl->Release(This)
 1920 #define IConfigInterleaving_put_Mode(This, mode) (This)->lpVtbl->put_Mode(This, mode)
 1921 #define IConfigInterleaving_get_Mode(This, pMode) (This)->lpVtbl->get_Mode(This, pMode)
 1922 #define IConfigInterleaving_put_Interleaving(This, prtInterleave, prtPreroll) (This)->lpVtbl->put_Interleaving(This, prtInterleave, prtPreroll)
 1923 #define IConfigInterleaving_get_Interleaving(This, prtInterleave, prtPreroll) (This)->lpVtbl->get_Interleaving(This, prtInterleave, prtPreroll)
 1924 
 1925 declare function IConfigInterleaving_put_Mode_Proxy(byval This as IConfigInterleaving ptr, byval mode as InterleavingMode) as HRESULT
 1926 declare sub IConfigInterleaving_put_Mode_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1927 declare function IConfigInterleaving_get_Mode_Proxy(byval This as IConfigInterleaving ptr, byval pMode as InterleavingMode ptr) as HRESULT
 1928 declare sub IConfigInterleaving_get_Mode_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1929 declare function IConfigInterleaving_put_Interleaving_Proxy(byval This as IConfigInterleaving ptr, byval prtInterleave as const REFERENCE_TIME ptr, byval prtPreroll as const REFERENCE_TIME ptr) as HRESULT
 1930 declare sub IConfigInterleaving_put_Interleaving_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1931 declare function IConfigInterleaving_get_Interleaving_Proxy(byval This as IConfigInterleaving ptr, byval prtInterleave as REFERENCE_TIME ptr, byval prtPreroll as REFERENCE_TIME ptr) as HRESULT
 1932 declare sub IConfigInterleaving_get_Interleaving_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1933 #define __IAMClockSlave_INTERFACE_DEFINED__
 1934 extern IID_IAMClockSlave as const GUID
 1935 type IAMClockSlave as IAMClockSlave_
 1936 
 1937 type IAMClockSlaveVtbl
 1938     QueryInterface as function(byval This as IAMClockSlave ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 1939     AddRef as function(byval This as IAMClockSlave ptr) as ULONG
 1940     Release as function(byval This as IAMClockSlave ptr) as ULONG
 1941     SetErrorTolerance as function(byval This as IAMClockSlave ptr, byval dwTolerance as DWORD) as HRESULT
 1942     GetErrorTolerance as function(byval This as IAMClockSlave ptr, byval pdwTolerance as DWORD ptr) as HRESULT
 1943 end type
 1944 
 1945 type IAMClockSlave_
 1946     lpVtbl as IAMClockSlaveVtbl ptr
 1947 end type
 1948 
 1949 #define IAMClockSlave_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 1950 #define IAMClockSlave_AddRef(This) (This)->lpVtbl->AddRef(This)
 1951 #define IAMClockSlave_Release(This) (This)->lpVtbl->Release(This)
 1952 #define IAMClockSlave_SetErrorTolerance(This, dwTolerance) (This)->lpVtbl->SetErrorTolerance(This, dwTolerance)
 1953 #define IAMClockSlave_GetErrorTolerance(This, pdwTolerance) (This)->lpVtbl->GetErrorTolerance(This, pdwTolerance)
 1954 
 1955 declare function IAMClockSlave_SetErrorTolerance_Proxy(byval This as IAMClockSlave ptr, byval dwTolerance as DWORD) as HRESULT
 1956 declare sub IAMClockSlave_SetErrorTolerance_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1957 declare function IAMClockSlave_GetErrorTolerance_Proxy(byval This as IAMClockSlave ptr, byval pdwTolerance as DWORD ptr) as HRESULT
 1958 declare sub IAMClockSlave_GetErrorTolerance_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 1959 
 1960 type _AMCOPPSignature
 1961     Signature(0 to 255) as UBYTE
 1962 end type
 1963 
 1964 type AMCOPPSignature as _AMCOPPSignature
 1965 
 1966 type _AMCOPPCommand
 1967     macKDI as GUID
 1968     guidCommandID as GUID
 1969     dwSequence as DWORD
 1970     bSizeData as DWORD
 1971     CommandData(0 to 4055) as UBYTE
 1972 end type
 1973 
 1974 type AMCOPPCommand as _AMCOPPCommand
 1975 type LPAMCOPPCommand as _AMCOPPCommand ptr
 1976 
 1977 type _AMCOPPStatusInput
 1978     rApp as GUID
 1979     guidStatusRequestID as GUID
 1980     dwSequence as DWORD
 1981     cbSizeData as DWORD
 1982     StatusData(0 to 4055) as UBYTE
 1983 end type
 1984 
 1985 type AMCOPPStatusInput as _AMCOPPStatusInput
 1986 type LPAMCOPPStatusInput as _AMCOPPStatusInput ptr
 1987 
 1988 type _AMCOPPStatusOutput
 1989     macKDI as GUID
 1990     cbSizeData as DWORD
 1991     COPPStatus(0 to 4075) as UBYTE
 1992 end type
 1993 
 1994 type AMCOPPStatusOutput as _AMCOPPStatusOutput
 1995 type LPAMCOPPStatusOutput as _AMCOPPStatusOutput ptr
 1996 #define __IAMCertifiedOutputProtection_INTERFACE_DEFINED__
 1997 extern IID_IAMCertifiedOutputProtection as const GUID
 1998 type IAMCertifiedOutputProtection as IAMCertifiedOutputProtection_
 1999 
 2000 type IAMCertifiedOutputProtectionVtbl
 2001     QueryInterface as function(byval This as IAMCertifiedOutputProtection ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2002     AddRef as function(byval This as IAMCertifiedOutputProtection ptr) as ULONG
 2003     Release as function(byval This as IAMCertifiedOutputProtection ptr) as ULONG
 2004     KeyExchange as function(byval This as IAMCertifiedOutputProtection ptr, byval pRandom as GUID ptr, byval VarLenCertGH as UBYTE ptr ptr, byval pdwLengthCertGH as DWORD ptr) as HRESULT
 2005     SessionSequenceStart as function(byval This as IAMCertifiedOutputProtection ptr, byval pSig as AMCOPPSignature ptr) as HRESULT
 2006     ProtectionCommand as function(byval This as IAMCertifiedOutputProtection ptr, byval cmd as const AMCOPPCommand ptr) as HRESULT
 2007     ProtectionStatus as function(byval This as IAMCertifiedOutputProtection ptr, byval pStatusInput as const AMCOPPStatusInput ptr, byval pStatusOutput as AMCOPPStatusOutput ptr) as HRESULT
 2008 end type
 2009 
 2010 type IAMCertifiedOutputProtection_
 2011     lpVtbl as IAMCertifiedOutputProtectionVtbl ptr
 2012 end type
 2013 
 2014 #define IAMCertifiedOutputProtection_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2015 #define IAMCertifiedOutputProtection_AddRef(This) (This)->lpVtbl->AddRef(This)
 2016 #define IAMCertifiedOutputProtection_Release(This) (This)->lpVtbl->Release(This)
 2017 #define IAMCertifiedOutputProtection_KeyExchange(This, pRandom, VarLenCertGH, pdwLengthCertGH) (This)->lpVtbl->KeyExchange(This, pRandom, VarLenCertGH, pdwLengthCertGH)
 2018 #define IAMCertifiedOutputProtection_SessionSequenceStart(This, pSig) (This)->lpVtbl->SessionSequenceStart(This, pSig)
 2019 #define IAMCertifiedOutputProtection_ProtectionCommand(This, cmd) (This)->lpVtbl->ProtectionCommand(This, cmd)
 2020 #define IAMCertifiedOutputProtection_ProtectionStatus(This, pStatusInput, pStatusOutput) (This)->lpVtbl->ProtectionStatus(This, pStatusInput, pStatusOutput)
 2021 
 2022 declare function IAMCertifiedOutputProtection_KeyExchange_Proxy(byval This as IAMCertifiedOutputProtection ptr, byval pRandom as GUID ptr, byval VarLenCertGH as UBYTE ptr ptr, byval pdwLengthCertGH as DWORD ptr) as HRESULT
 2023 declare sub IAMCertifiedOutputProtection_KeyExchange_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2024 declare function IAMCertifiedOutputProtection_SessionSequenceStart_Proxy(byval This as IAMCertifiedOutputProtection ptr, byval pSig as AMCOPPSignature ptr) as HRESULT
 2025 declare sub IAMCertifiedOutputProtection_SessionSequenceStart_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2026 declare function IAMCertifiedOutputProtection_ProtectionCommand_Proxy(byval This as IAMCertifiedOutputProtection ptr, byval cmd as const AMCOPPCommand ptr) as HRESULT
 2027 declare sub IAMCertifiedOutputProtection_ProtectionCommand_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2028 declare function IAMCertifiedOutputProtection_ProtectionStatus_Proxy(byval This as IAMCertifiedOutputProtection ptr, byval pStatusInput as const AMCOPPStatusInput ptr, byval pStatusOutput as AMCOPPStatusOutput ptr) as HRESULT
 2029 declare sub IAMCertifiedOutputProtection_ProtectionStatus_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2030 
 2031 type _AM_RENSDEREXFLAGS as long
 2032 enum
 2033     AM_RENDEREX_RENDERTOEXISTINGRENDERERS = &h1
 2034 end enum
 2035 
 2036 #define __IFilterGraph2_INTERFACE_DEFINED__
 2037 extern IID_IFilterGraph2 as const GUID
 2038 type IFilterGraph2 as IFilterGraph2_
 2039 
 2040 type IFilterGraph2Vtbl
 2041     QueryInterface as function(byval This as IFilterGraph2 ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2042     AddRef as function(byval This as IFilterGraph2 ptr) as ULONG
 2043     Release as function(byval This as IFilterGraph2 ptr) as ULONG
 2044     AddFilter as function(byval This as IFilterGraph2 ptr, byval pFilter as IBaseFilter ptr, byval pName as LPCWSTR) as HRESULT
 2045     RemoveFilter as function(byval This as IFilterGraph2 ptr, byval pFilter as IBaseFilter ptr) as HRESULT
 2046     EnumFilters as function(byval This as IFilterGraph2 ptr, byval ppEnum as IEnumFilters ptr ptr) as HRESULT
 2047     FindFilterByName as function(byval This as IFilterGraph2 ptr, byval pName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
 2048     ConnectDirect as function(byval This as IFilterGraph2 ptr, byval ppinOut as IPin ptr, byval ppinIn as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 2049     Reconnect as function(byval This as IFilterGraph2 ptr, byval ppin as IPin ptr) as HRESULT
 2050     Disconnect as function(byval This as IFilterGraph2 ptr, byval ppin as IPin ptr) as HRESULT
 2051     SetDefaultSyncSource as function(byval This as IFilterGraph2 ptr) as HRESULT
 2052     Connect as function(byval This as IFilterGraph2 ptr, byval ppinOut as IPin ptr, byval ppinIn as IPin ptr) as HRESULT
 2053     Render as function(byval This as IFilterGraph2 ptr, byval ppinOut as IPin ptr) as HRESULT
 2054     RenderFile as function(byval This as IFilterGraph2 ptr, byval lpcwstrFile as LPCWSTR, byval lpcwstrPlayList as LPCWSTR) as HRESULT
 2055     AddSourceFilter as function(byval This as IFilterGraph2 ptr, byval lpcwstrFileName as LPCWSTR, byval lpcwstrFilterName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
 2056     SetLogFile as function(byval This as IFilterGraph2 ptr, byval hFile as DWORD_PTR) as HRESULT
 2057     Abort as function(byval This as IFilterGraph2 ptr) as HRESULT
 2058     ShouldOperationContinue as function(byval This as IFilterGraph2 ptr) as HRESULT
 2059     AddSourceFilterForMoniker as function(byval This as IFilterGraph2 ptr, byval pMoniker as IMoniker ptr, byval pCtx as IBindCtx ptr, byval lpcwstrFilterName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
 2060     ReconnectEx as function(byval This as IFilterGraph2 ptr, byval ppin as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 2061     RenderEx as function(byval This as IFilterGraph2 ptr, byval pPinOut as IPin ptr, byval dwFlags as DWORD, byval pvContext as DWORD ptr) as HRESULT
 2062 end type
 2063 
 2064 type IFilterGraph2_
 2065     lpVtbl as IFilterGraph2Vtbl ptr
 2066 end type
 2067 
 2068 #define IFilterGraph2_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2069 #define IFilterGraph2_AddRef(This) (This)->lpVtbl->AddRef(This)
 2070 #define IFilterGraph2_Release(This) (This)->lpVtbl->Release(This)
 2071 #define IFilterGraph2_AddFilter(This, pFilter, pName) (This)->lpVtbl->AddFilter(This, pFilter, pName)
 2072 #define IFilterGraph2_RemoveFilter(This, pFilter) (This)->lpVtbl->RemoveFilter(This, pFilter)
 2073 #define IFilterGraph2_EnumFilters(This, ppEnum) (This)->lpVtbl->EnumFilters(This, ppEnum)
 2074 #define IFilterGraph2_FindFilterByName(This, pName, ppFilter) (This)->lpVtbl->FindFilterByName(This, pName, ppFilter)
 2075 #define IFilterGraph2_ConnectDirect(This, ppinOut, ppinIn, pmt) (This)->lpVtbl->ConnectDirect(This, ppinOut, ppinIn, pmt)
 2076 #define IFilterGraph2_Reconnect(This, ppin) (This)->lpVtbl->Reconnect(This, ppin)
 2077 #define IFilterGraph2_Disconnect(This, ppin) (This)->lpVtbl->Disconnect(This, ppin)
 2078 #define IFilterGraph2_SetDefaultSyncSource(This) (This)->lpVtbl->SetDefaultSyncSource(This)
 2079 #define IFilterGraph2_Connect(This, ppinOut, ppinIn) (This)->lpVtbl->Connect(This, ppinOut, ppinIn)
 2080 #define IFilterGraph2_Render(This, ppinOut) (This)->lpVtbl->Render(This, ppinOut)
 2081 #define IFilterGraph2_RenderFile(This, lpcwstrFile, lpcwstrPlayList) (This)->lpVtbl->RenderFile(This, lpcwstrFile, lpcwstrPlayList)
 2082 #define IFilterGraph2_AddSourceFilter(This, lpcwstrFileName, lpcwstrFilterName, ppFilter) (This)->lpVtbl->AddSourceFilter(This, lpcwstrFileName, lpcwstrFilterName, ppFilter)
 2083 #define IFilterGraph2_SetLogFile(This, hFile) (This)->lpVtbl->SetLogFile(This, hFile)
 2084 #define IFilterGraph2_Abort(This) (This)->lpVtbl->Abort(This)
 2085 #define IFilterGraph2_ShouldOperationContinue(This) (This)->lpVtbl->ShouldOperationContinue(This)
 2086 #define IFilterGraph2_AddSourceFilterForMoniker(This, pMoniker, pCtx, lpcwstrFilterName, ppFilter) (This)->lpVtbl->AddSourceFilterForMoniker(This, pMoniker, pCtx, lpcwstrFilterName, ppFilter)
 2087 #define IFilterGraph2_ReconnectEx(This, ppin, pmt) (This)->lpVtbl->ReconnectEx(This, ppin, pmt)
 2088 #define IFilterGraph2_RenderEx(This, pPinOut, dwFlags, pvContext) (This)->lpVtbl->RenderEx(This, pPinOut, dwFlags, pvContext)
 2089 
 2090 declare function IFilterGraph2_AddSourceFilterForMoniker_Proxy(byval This as IFilterGraph2 ptr, byval pMoniker as IMoniker ptr, byval pCtx as IBindCtx ptr, byval lpcwstrFilterName as LPCWSTR, byval ppFilter as IBaseFilter ptr ptr) as HRESULT
 2091 declare sub IFilterGraph2_AddSourceFilterForMoniker_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2092 declare function IFilterGraph2_ReconnectEx_Proxy(byval This as IFilterGraph2 ptr, byval ppin as IPin ptr, byval pmt as const AM_MEDIA_TYPE ptr) as HRESULT
 2093 declare sub IFilterGraph2_ReconnectEx_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2094 declare function IFilterGraph2_RenderEx_Proxy(byval This as IFilterGraph2 ptr, byval pPinOut as IPin ptr, byval dwFlags as DWORD, byval pvContext as DWORD ptr) as HRESULT
 2095 declare sub IFilterGraph2_RenderEx_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2096 #define __IStreamBuilder_INTERFACE_DEFINED__
 2097 extern IID_IStreamBuilder as const GUID
 2098 type IStreamBuilder as IStreamBuilder_
 2099 
 2100 type IStreamBuilderVtbl
 2101     QueryInterface as function(byval This as IStreamBuilder ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2102     AddRef as function(byval This as IStreamBuilder ptr) as ULONG
 2103     Release as function(byval This as IStreamBuilder ptr) as ULONG
 2104     Render as function(byval This as IStreamBuilder ptr, byval ppinOut as IPin ptr, byval pGraph as IGraphBuilder ptr) as HRESULT
 2105     Backout as function(byval This as IStreamBuilder ptr, byval ppinOut as IPin ptr, byval pGraph as IGraphBuilder ptr) as HRESULT
 2106 end type
 2107 
 2108 type IStreamBuilder_
 2109     lpVtbl as IStreamBuilderVtbl ptr
 2110 end type
 2111 
 2112 #define IStreamBuilder_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2113 #define IStreamBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
 2114 #define IStreamBuilder_Release(This) (This)->lpVtbl->Release(This)
 2115 #define IStreamBuilder_Render(This, ppinOut, pGraph) (This)->lpVtbl->Render(This, ppinOut, pGraph)
 2116 #define IStreamBuilder_Backout(This, ppinOut, pGraph) (This)->lpVtbl->Backout(This, ppinOut, pGraph)
 2117 
 2118 declare function IStreamBuilder_Render_Proxy(byval This as IStreamBuilder ptr, byval ppinOut as IPin ptr, byval pGraph as IGraphBuilder ptr) as HRESULT
 2119 declare sub IStreamBuilder_Render_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2120 declare function IStreamBuilder_Backout_Proxy(byval This as IStreamBuilder ptr, byval ppinOut as IPin ptr, byval pGraph as IGraphBuilder ptr) as HRESULT
 2121 declare sub IStreamBuilder_Backout_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2122 #define __IAMStreamConfig_INTERFACE_DEFINED__
 2123 
 2124 type _VIDEO_STREAM_CONFIG_CAPS
 2125     guid as GUID
 2126     VideoStandard as ULONG
 2127     InputSize as SIZE
 2128     MinCroppingSize as SIZE
 2129     MaxCroppingSize as SIZE
 2130     CropGranularityX as long
 2131     CropGranularityY as long
 2132     CropAlignX as long
 2133     CropAlignY as long
 2134     MinOutputSize as SIZE
 2135     MaxOutputSize as SIZE
 2136     OutputGranularityX as long
 2137     OutputGranularityY as long
 2138     StretchTapsX as long
 2139     StretchTapsY as long
 2140     ShrinkTapsX as long
 2141     ShrinkTapsY as long
 2142     MinFrameInterval as LONGLONG
 2143     MaxFrameInterval as LONGLONG
 2144     MinBitsPerSecond as LONG
 2145     MaxBitsPerSecond as LONG
 2146 end type
 2147 
 2148 type VIDEO_STREAM_CONFIG_CAPS as _VIDEO_STREAM_CONFIG_CAPS
 2149 
 2150 type _AUDIO_STREAM_CONFIG_CAPS
 2151     guid as GUID
 2152     MinimumChannels as ULONG
 2153     MaximumChannels as ULONG
 2154     ChannelsGranularity as ULONG
 2155     MinimumBitsPerSample as ULONG
 2156     MaximumBitsPerSample as ULONG
 2157     BitsPerSampleGranularity as ULONG
 2158     MinimumSampleFrequency as ULONG
 2159     MaximumSampleFrequency as ULONG
 2160     SampleFrequencyGranularity as ULONG
 2161 end type
 2162 
 2163 type AUDIO_STREAM_CONFIG_CAPS as _AUDIO_STREAM_CONFIG_CAPS
 2164 extern IID_IAMStreamConfig as const GUID
 2165 type IAMStreamConfig as IAMStreamConfig_
 2166 
 2167 type IAMStreamConfigVtbl
 2168     QueryInterface as function(byval This as IAMStreamConfig ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2169     AddRef as function(byval This as IAMStreamConfig ptr) as ULONG
 2170     Release as function(byval This as IAMStreamConfig ptr) as ULONG
 2171     SetFormat as function(byval This as IAMStreamConfig ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
 2172     GetFormat as function(byval This as IAMStreamConfig ptr, byval pmt as AM_MEDIA_TYPE ptr ptr) as HRESULT
 2173     GetNumberOfCapabilities as function(byval This as IAMStreamConfig ptr, byval piCount as long ptr, byval piSize as long ptr) as HRESULT
 2174     GetStreamCaps as function(byval This as IAMStreamConfig ptr, byval iIndex as long, byval pmt as AM_MEDIA_TYPE ptr ptr, byval pSCC as UBYTE ptr) as HRESULT
 2175 end type
 2176 
 2177 type IAMStreamConfig_
 2178     lpVtbl as IAMStreamConfigVtbl ptr
 2179 end type
 2180 
 2181 #define IAMStreamConfig_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2182 #define IAMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
 2183 #define IAMStreamConfig_Release(This) (This)->lpVtbl->Release(This)
 2184 #define IAMStreamConfig_SetFormat(This, pmt) (This)->lpVtbl->SetFormat(This, pmt)
 2185 #define IAMStreamConfig_GetFormat(This, pmt) (This)->lpVtbl->GetFormat(This, pmt)
 2186 #define IAMStreamConfig_GetNumberOfCapabilities(This, piCount, piSize) (This)->lpVtbl->GetNumberOfCapabilities(This, piCount, piSize)
 2187 #define IAMStreamConfig_GetStreamCaps(This, iIndex, pmt, pSCC) (This)->lpVtbl->GetStreamCaps(This, iIndex, pmt, pSCC)
 2188 
 2189 declare function IAMStreamConfig_SetFormat_Proxy(byval This as IAMStreamConfig ptr, byval pmt as AM_MEDIA_TYPE ptr) as HRESULT
 2190 declare sub IAMStreamConfig_SetFormat_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2191 declare function IAMStreamConfig_GetFormat_Proxy(byval This as IAMStreamConfig ptr, byval pmt as AM_MEDIA_TYPE ptr ptr) as HRESULT
 2192 declare sub IAMStreamConfig_GetFormat_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2193 declare function IAMStreamConfig_GetNumberOfCapabilities_Proxy(byval This as IAMStreamConfig ptr, byval piCount as long ptr, byval piSize as long ptr) as HRESULT
 2194 declare sub IAMStreamConfig_GetNumberOfCapabilities_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2195 declare function IAMStreamConfig_GetStreamCaps_Proxy(byval This as IAMStreamConfig ptr, byval iIndex as long, byval pmt as AM_MEDIA_TYPE ptr ptr, byval pSCC as UBYTE ptr) as HRESULT
 2196 declare sub IAMStreamConfig_GetStreamCaps_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2197 
 2198 type tagVideoProcAmpProperty as long
 2199 enum
 2200     VideoProcAmp_Brightness = 0
 2201     VideoProcAmp_Contrast = 1
 2202     VideoProcAmp_Hue = 2
 2203     VideoProcAmp_Saturation = 3
 2204     VideoProcAmp_Sharpness = 4
 2205     VideoProcAmp_Gamma = 5
 2206     VideoProcAmp_ColorEnable = 6
 2207     VideoProcAmp_WhiteBalance = 7
 2208     VideoProcAmp_BacklightCompensation = 8
 2209     VideoProcAmp_Gain = 9
 2210 end enum
 2211 
 2212 type VideoProcAmpProperty as tagVideoProcAmpProperty
 2213 
 2214 type tagVideoProcAmpFlags as long
 2215 enum
 2216     VideoProcAmp_Flags_Auto = &h1
 2217     VideoProcAmp_Flags_Manual = &h2
 2218 end enum
 2219 
 2220 type VideoProcAmpFlags as tagVideoProcAmpFlags
 2221 #define __IAMVideoProcAmp_INTERFACE_DEFINED__
 2222 extern IID_IAMVideoProcAmp as const GUID
 2223 type IAMVideoProcAmp as IAMVideoProcAmp_
 2224 
 2225 type IAMVideoProcAmpVtbl
 2226     QueryInterface as function(byval This as IAMVideoProcAmp ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2227     AddRef as function(byval This as IAMVideoProcAmp ptr) as ULONG
 2228     Release as function(byval This as IAMVideoProcAmp ptr) as ULONG
 2229     GetRange as function(byval This as IAMVideoProcAmp ptr, byval Property as LONG, byval pMin as LONG ptr, byval pMax as LONG ptr, byval pSteppingDelta as LONG ptr, byval pDefault as LONG ptr, byval pCapsFlags as LONG ptr) as HRESULT
 2230     Set as function(byval This as IAMVideoProcAmp ptr, byval Property as LONG, byval lValue as LONG, byval Flags as LONG) as HRESULT
 2231     Get as function(byval This as IAMVideoProcAmp ptr, byval Property as LONG, byval lValue as LONG ptr, byval Flags as LONG ptr) as HRESULT
 2232 end type
 2233 
 2234 type IAMVideoProcAmp_
 2235     lpVtbl as IAMVideoProcAmpVtbl ptr
 2236 end type
 2237 
 2238 #define IAMVideoProcAmp_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2239 #define IAMVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This)
 2240 #define IAMVideoProcAmp_Release(This) (This)->lpVtbl->Release(This)
 2241 #define IAMVideoProcAmp_GetRange(This, Property, pMin, pMax, pSteppingDelta, pDefault, pCapsFlags) (This)->lpVtbl->GetRange(This, Property, pMin, pMax, pSteppingDelta, pDefault, pCapsFlags)
 2242 #define IAMVideoProcAmp_Set(This, Property, lValue, Flags) (This)->lpVtbl->Set(This, Property, lValue, Flags)
 2243 #define IAMVideoProcAmp_Get(This, Property, lValue, Flags) (This)->lpVtbl->Get(This, Property, lValue, Flags)
 2244 
 2245 declare function IAMVideoProcAmp_GetRange_Proxy(byval This as IAMVideoProcAmp ptr, byval Property as LONG, byval pMin as LONG ptr, byval pMax as LONG ptr, byval pSteppingDelta as LONG ptr, byval pDefault as LONG ptr, byval pCapsFlags as LONG ptr) as HRESULT
 2246 declare sub IAMVideoProcAmp_GetRange_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2247 declare function IAMVideoProcAmp_Set_Proxy(byval This as IAMVideoProcAmp ptr, byval Property as LONG, byval lValue as LONG, byval Flags as LONG) as HRESULT
 2248 declare sub IAMVideoProcAmp_Set_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2249 declare function IAMVideoProcAmp_Get_Proxy(byval This as IAMVideoProcAmp ptr, byval Property as LONG, byval lValue as LONG ptr, byval Flags as LONG ptr) as HRESULT
 2250 declare sub IAMVideoProcAmp_Get_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2251 #define __IAsyncReader_INTERFACE_DEFINED__
 2252 extern IID_IAsyncReader as const GUID
 2253 type IAsyncReader as IAsyncReader_
 2254 
 2255 type IAsyncReaderVtbl
 2256     QueryInterface as function(byval This as IAsyncReader ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2257     AddRef as function(byval This as IAsyncReader ptr) as ULONG
 2258     Release as function(byval This as IAsyncReader ptr) as ULONG
 2259     RequestAllocator as function(byval This as IAsyncReader ptr, byval pPreferred as IMemAllocator ptr, byval pProps as ALLOCATOR_PROPERTIES ptr, byval ppActual as IMemAllocator ptr ptr) as HRESULT
 2260     Request as function(byval This as IAsyncReader ptr, byval pSample as IMediaSample ptr, byval dwUser as DWORD_PTR) as HRESULT
 2261     WaitForNext as function(byval This as IAsyncReader ptr, byval dwTimeout as DWORD, byval ppSample as IMediaSample ptr ptr, byval pdwUser as DWORD_PTR ptr) as HRESULT
 2262     SyncReadAligned as function(byval This as IAsyncReader ptr, byval pSample as IMediaSample ptr) as HRESULT
 2263     SyncRead as function(byval This as IAsyncReader ptr, byval llPosition as LONGLONG, byval lLength as LONG, byval pBuffer as UBYTE ptr) as HRESULT
 2264     Length as function(byval This as IAsyncReader ptr, byval pTotal as LONGLONG ptr, byval pAvailable as LONGLONG ptr) as HRESULT
 2265     BeginFlush as function(byval This as IAsyncReader ptr) as HRESULT
 2266     EndFlush as function(byval This as IAsyncReader ptr) as HRESULT
 2267 end type
 2268 
 2269 type IAsyncReader_
 2270     lpVtbl as IAsyncReaderVtbl ptr
 2271 end type
 2272 
 2273 #define IAsyncReader_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2274 #define IAsyncReader_AddRef(This) (This)->lpVtbl->AddRef(This)
 2275 #define IAsyncReader_Release(This) (This)->lpVtbl->Release(This)
 2276 #define IAsyncReader_RequestAllocator(This, pPreferred, pProps, ppActual) (This)->lpVtbl->RequestAllocator(This, pPreferred, pProps, ppActual)
 2277 #define IAsyncReader_Request(This, pSample, dwUser) (This)->lpVtbl->Request(This, pSample, dwUser)
 2278 #define IAsyncReader_WaitForNext(This, dwTimeout, ppSample, pdwUser) (This)->lpVtbl->WaitForNext(This, dwTimeout, ppSample, pdwUser)
 2279 #define IAsyncReader_SyncReadAligned(This, pSample) (This)->lpVtbl->SyncReadAligned(This, pSample)
 2280 #define IAsyncReader_SyncRead(This, llPosition, lLength, pBuffer) (This)->lpVtbl->SyncRead(This, llPosition, lLength, pBuffer)
 2281 #define IAsyncReader_Length(This, pTotal, pAvailable) (This)->lpVtbl->Length(This, pTotal, pAvailable)
 2282 #define IAsyncReader_BeginFlush(This) (This)->lpVtbl->BeginFlush(This)
 2283 #define IAsyncReader_EndFlush(This) (This)->lpVtbl->EndFlush(This)
 2284 
 2285 declare function IAsyncReader_RequestAllocator_Proxy(byval This as IAsyncReader ptr, byval pPreferred as IMemAllocator ptr, byval pProps as ALLOCATOR_PROPERTIES ptr, byval ppActual as IMemAllocator ptr ptr) as HRESULT
 2286 declare sub IAsyncReader_RequestAllocator_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2287 declare function IAsyncReader_Request_Proxy(byval This as IAsyncReader ptr, byval pSample as IMediaSample ptr, byval dwUser as DWORD_PTR) as HRESULT
 2288 declare sub IAsyncReader_Request_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2289 declare function IAsyncReader_WaitForNext_Proxy(byval This as IAsyncReader ptr, byval dwTimeout as DWORD, byval ppSample as IMediaSample ptr ptr, byval pdwUser as DWORD_PTR ptr) as HRESULT
 2290 declare sub IAsyncReader_WaitForNext_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2291 declare function IAsyncReader_SyncReadAligned_Proxy(byval This as IAsyncReader ptr, byval pSample as IMediaSample ptr) as HRESULT
 2292 declare sub IAsyncReader_SyncReadAligned_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2293 declare function IAsyncReader_SyncRead_Proxy(byval This as IAsyncReader ptr, byval llPosition as LONGLONG, byval lLength as LONG, byval pBuffer as UBYTE ptr) as HRESULT
 2294 declare sub IAsyncReader_SyncRead_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2295 declare function IAsyncReader_Length_Proxy(byval This as IAsyncReader ptr, byval pTotal as LONGLONG ptr, byval pAvailable as LONGLONG ptr) as HRESULT
 2296 declare sub IAsyncReader_Length_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2297 declare function IAsyncReader_BeginFlush_Proxy(byval This as IAsyncReader ptr) as HRESULT
 2298 declare sub IAsyncReader_BeginFlush_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2299 declare function IAsyncReader_EndFlush_Proxy(byval This as IAsyncReader ptr) as HRESULT
 2300 declare sub IAsyncReader_EndFlush_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2301 #define __IGraphVersion_INTERFACE_DEFINED__
 2302 extern IID_IGraphVersion as const GUID
 2303 type IGraphVersion as IGraphVersion_
 2304 
 2305 type IGraphVersionVtbl
 2306     QueryInterface as function(byval This as IGraphVersion ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2307     AddRef as function(byval This as IGraphVersion ptr) as ULONG
 2308     Release as function(byval This as IGraphVersion ptr) as ULONG
 2309     QueryVersion as function(byval This as IGraphVersion ptr, byval pVersion as LONG ptr) as HRESULT
 2310 end type
 2311 
 2312 type IGraphVersion_
 2313     lpVtbl as IGraphVersionVtbl ptr
 2314 end type
 2315 
 2316 #define IGraphVersion_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2317 #define IGraphVersion_AddRef(This) (This)->lpVtbl->AddRef(This)
 2318 #define IGraphVersion_Release(This) (This)->lpVtbl->Release(This)
 2319 #define IGraphVersion_QueryVersion(This, pVersion) (This)->lpVtbl->QueryVersion(This, pVersion)
 2320 declare function IGraphVersion_QueryVersion_Proxy(byval This as IGraphVersion ptr, byval pVersion as LONG ptr) as HRESULT
 2321 declare sub IGraphVersion_QueryVersion_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2322 #define __IResourceConsumer_INTERFACE_DEFINED__
 2323 extern IID_IResourceConsumer as const GUID
 2324 type IResourceConsumer as IResourceConsumer_
 2325 
 2326 type IResourceConsumerVtbl
 2327     QueryInterface as function(byval This as IResourceConsumer ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2328     AddRef as function(byval This as IResourceConsumer ptr) as ULONG
 2329     Release as function(byval This as IResourceConsumer ptr) as ULONG
 2330     AcquireResource as function(byval This as IResourceConsumer ptr, byval idResource as LONG) as HRESULT
 2331     ReleaseResource as function(byval This as IResourceConsumer ptr, byval idResource as LONG) as HRESULT
 2332 end type
 2333 
 2334 type IResourceConsumer_
 2335     lpVtbl as IResourceConsumerVtbl ptr
 2336 end type
 2337 
 2338 #define IResourceConsumer_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2339 #define IResourceConsumer_AddRef(This) (This)->lpVtbl->AddRef(This)
 2340 #define IResourceConsumer_Release(This) (This)->lpVtbl->Release(This)
 2341 #define IResourceConsumer_AcquireResource(This, idResource) (This)->lpVtbl->AcquireResource(This, idResource)
 2342 #define IResourceConsumer_ReleaseResource(This, idResource) (This)->lpVtbl->ReleaseResource(This, idResource)
 2343 
 2344 declare function IResourceConsumer_AcquireResource_Proxy(byval This as IResourceConsumer ptr, byval idResource as LONG) as HRESULT
 2345 declare sub IResourceConsumer_AcquireResource_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2346 declare function IResourceConsumer_ReleaseResource_Proxy(byval This as IResourceConsumer ptr, byval idResource as LONG) as HRESULT
 2347 declare sub IResourceConsumer_ReleaseResource_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2348 #define __IResourceManager_INTERFACE_DEFINED__
 2349 extern IID_IResourceManager as const GUID
 2350 type IResourceManager as IResourceManager_
 2351 
 2352 type IResourceManagerVtbl
 2353     QueryInterface as function(byval This as IResourceManager ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2354     AddRef as function(byval This as IResourceManager ptr) as ULONG
 2355     Release as function(byval This as IResourceManager ptr) as ULONG
 2356     Register as function(byval This as IResourceManager ptr, byval pName as LPCWSTR, byval cResource as LONG, byval plToken as LONG ptr) as HRESULT
 2357     RegisterGroup as function(byval This as IResourceManager ptr, byval pName as LPCWSTR, byval cResource as LONG, byval palTokens as LONG ptr, byval plToken as LONG ptr) as HRESULT
 2358     RequestResource as function(byval This as IResourceManager ptr, byval idResource as LONG, byval pFocusObject as IUnknown ptr, byval pConsumer as IResourceConsumer ptr) as HRESULT
 2359     NotifyAcquire as function(byval This as IResourceManager ptr, byval idResource as LONG, byval pConsumer as IResourceConsumer ptr, byval hr as HRESULT) as HRESULT
 2360     NotifyRelease as function(byval This as IResourceManager ptr, byval idResource as LONG, byval pConsumer as IResourceConsumer ptr, byval bStillWant as WINBOOL) as HRESULT
 2361     CancelRequest as function(byval This as IResourceManager ptr, byval idResource as LONG, byval pConsumer as IResourceConsumer ptr) as HRESULT
 2362     SetFocus as function(byval This as IResourceManager ptr, byval pFocusObject as IUnknown ptr) as HRESULT
 2363     ReleaseFocus as function(byval This as IResourceManager ptr, byval pFocusObject as IUnknown ptr) as HRESULT
 2364 end type
 2365 
 2366 type IResourceManager_
 2367     lpVtbl as IResourceManagerVtbl ptr
 2368 end type
 2369 
 2370 #define IResourceManager_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2371 #define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
 2372 #define IResourceManager_Release(This) (This)->lpVtbl->Release(This)
 2373 #define IResourceManager_Register(This, pName, cResource, plToken) (This)->lpVtbl->Register(This, pName, cResource, plToken)
 2374 #define IResourceManager_RegisterGroup(This, pName, cResource, palTokens, plToken) (This)->lpVtbl->RegisterGroup(This, pName, cResource, palTokens, plToken)
 2375 #define IResourceManager_RequestResource(This, idResource, pFocusObject, pConsumer) (This)->lpVtbl->RequestResource(This, idResource, pFocusObject, pConsumer)
 2376 #define IResourceManager_NotifyAcquire(This, idResource, pConsumer, hr) (This)->lpVtbl->NotifyAcquire(This, idResource, pConsumer, hr)
 2377 #define IResourceManager_NotifyRelease(This, idResource, pConsumer, bStillWant) (This)->lpVtbl->NotifyRelease(This, idResource, pConsumer, bStillWant)
 2378 #define IResourceManager_CancelRequest(This, idResource, pConsumer) (This)->lpVtbl->CancelRequest(This, idResource, pConsumer)
 2379 #define IResourceManager_SetFocus(This, pFocusObject) (This)->lpVtbl->SetFocus(This, pFocusObject)
 2380 #define IResourceManager_ReleaseFocus(This, pFocusObject) (This)->lpVtbl->ReleaseFocus(This, pFocusObject)
 2381 
 2382 declare function IResourceManager_Register_Proxy(byval This as IResourceManager ptr, byval pName as LPCWSTR, byval cResource as LONG, byval plToken as LONG ptr) as HRESULT
 2383 declare sub IResourceManager_Register_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2384 declare function IResourceManager_RegisterGroup_Proxy(byval This as IResourceManager ptr, byval pName as LPCWSTR, byval cResource as LONG, byval palTokens as LONG ptr, byval plToken as LONG ptr) as HRESULT
 2385 declare sub IResourceManager_RegisterGroup_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2386 declare function IResourceManager_RequestResource_Proxy(byval This as IResourceManager ptr, byval idResource as LONG, byval pFocusObject as IUnknown ptr, byval pConsumer as IResourceConsumer ptr) as HRESULT
 2387 declare sub IResourceManager_RequestResource_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2388 declare function IResourceManager_NotifyAcquire_Proxy(byval This as IResourceManager ptr, byval idResource as LONG, byval pConsumer as IResourceConsumer ptr, byval hr as HRESULT) as HRESULT
 2389 declare sub IResourceManager_NotifyAcquire_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2390 declare function IResourceManager_NotifyRelease_Proxy(byval This as IResourceManager ptr, byval idResource as LONG, byval pConsumer as IResourceConsumer ptr, byval bStillWant as WINBOOL) as HRESULT
 2391 declare sub IResourceManager_NotifyRelease_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2392 declare function IResourceManager_CancelRequest_Proxy(byval This as IResourceManager ptr, byval idResource as LONG, byval pConsumer as IResourceConsumer ptr) as HRESULT
 2393 declare sub IResourceManager_CancelRequest_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2394 declare function IResourceManager_SetFocus_Proxy(byval This as IResourceManager ptr, byval pFocusObject as IUnknown ptr) as HRESULT
 2395 declare sub IResourceManager_SetFocus_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2396 declare function IResourceManager_ReleaseFocus_Proxy(byval This as IResourceManager ptr, byval pFocusObject as IUnknown ptr) as HRESULT
 2397 declare sub IResourceManager_ReleaseFocus_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2398 
 2399 type AM_STREAM_INFO_FLAGS as long
 2400 enum
 2401     AM_STREAM_INFO_START_DEFINED = &h1
 2402     AM_STREAM_INFO_STOP_DEFINED = &h2
 2403     AM_STREAM_INFO_DISCARDING = &h4
 2404     AM_STREAM_INFO_STOP_SEND_EXTRA = &h10
 2405 end enum
 2406 
 2407 type AM_STREAM_INFO
 2408     tStart as REFERENCE_TIME
 2409     tStop as REFERENCE_TIME
 2410     dwStartCookie as DWORD
 2411     dwStopCookie as DWORD
 2412     dwFlags as DWORD
 2413 end type
 2414 
 2415 #define __IAMStreamControl_INTERFACE_DEFINED__
 2416 extern IID_IAMStreamControl as const GUID
 2417 type IAMStreamControl as IAMStreamControl_
 2418 
 2419 type IAMStreamControlVtbl
 2420     QueryInterface as function(byval This as IAMStreamControl ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2421     AddRef as function(byval This as IAMStreamControl ptr) as ULONG
 2422     Release as function(byval This as IAMStreamControl ptr) as ULONG
 2423     StartAt as function(byval This as IAMStreamControl ptr, byval ptStart as const REFERENCE_TIME ptr, byval dwCookie as DWORD) as HRESULT
 2424     StopAt as function(byval This as IAMStreamControl ptr, byval ptStop as const REFERENCE_TIME ptr, byval bSendExtra as WINBOOL, byval dwCookie as DWORD) as HRESULT
 2425     GetInfo as function(byval This as IAMStreamControl ptr, byval pInfo as AM_STREAM_INFO ptr) as HRESULT
 2426 end type
 2427 
 2428 type IAMStreamControl_
 2429     lpVtbl as IAMStreamControlVtbl ptr
 2430 end type
 2431 
 2432 #define IAMStreamControl_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2433 #define IAMStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This)
 2434 #define IAMStreamControl_Release(This) (This)->lpVtbl->Release(This)
 2435 #define IAMStreamControl_StartAt(This, ptStart, dwCookie) (This)->lpVtbl->StartAt(This, ptStart, dwCookie)
 2436 #define IAMStreamControl_StopAt(This, ptStop, bSendExtra, dwCookie) (This)->lpVtbl->StopAt(This, ptStop, bSendExtra, dwCookie)
 2437 #define IAMStreamControl_GetInfo(This, pInfo) (This)->lpVtbl->GetInfo(This, pInfo)
 2438 
 2439 declare function IAMStreamControl_StartAt_Proxy(byval This as IAMStreamControl ptr, byval ptStart as const REFERENCE_TIME ptr, byval dwCookie as DWORD) as HRESULT
 2440 declare sub IAMStreamControl_StartAt_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2441 declare function IAMStreamControl_StopAt_Proxy(byval This as IAMStreamControl ptr, byval ptStop as const REFERENCE_TIME ptr, byval bSendExtra as WINBOOL, byval dwCookie as DWORD) as HRESULT
 2442 declare sub IAMStreamControl_StopAt_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2443 declare function IAMStreamControl_GetInfo_Proxy(byval This as IAMStreamControl ptr, byval pInfo as AM_STREAM_INFO ptr) as HRESULT
 2444 declare sub IAMStreamControl_GetInfo_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2445 
 2446 #define _IKsPropertySet_
 2447 const KSPROPERTY_SUPPORT_GET = 1
 2448 const KSPROPERTY_SUPPORT_SET = 2
 2449 #define __IKsPropertySet_INTERFACE_DEFINED__
 2450 extern IID_IKsPropertySet as const GUID
 2451 type IKsPropertySet as IKsPropertySet_
 2452 
 2453 type IKsPropertySetVtbl
 2454     QueryInterface as function(byval This as IKsPropertySet ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2455     AddRef as function(byval This as IKsPropertySet ptr) as ULONG
 2456     Release as function(byval This as IKsPropertySet ptr) as ULONG
 2457     Set as function(byval This as IKsPropertySet ptr, byval guidPropSet as const GUID const ptr, byval dwPropID as DWORD, byval pInstanceData as LPVOID, byval cbInstanceData as DWORD, byval pPropData as LPVOID, byval cbPropData as DWORD) as HRESULT
 2458     Get as function(byval This as IKsPropertySet ptr, byval guidPropSet as const GUID const ptr, byval dwPropID as DWORD, byval pInstanceData as LPVOID, byval cbInstanceData as DWORD, byval pPropData as LPVOID, byval cbPropData as DWORD, byval pcbReturned as DWORD ptr) as HRESULT
 2459     QuerySupported as function(byval This as IKsPropertySet ptr, byval guidPropSet as const GUID const ptr, byval dwPropID as DWORD, byval pTypeSupport as DWORD ptr) as HRESULT
 2460 end type
 2461 
 2462 type IKsPropertySet_
 2463     lpVtbl as IKsPropertySetVtbl ptr
 2464 end type
 2465 
 2466 #define IKsPropertySet_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2467 #define IKsPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This)
 2468 #define IKsPropertySet_Release(This) (This)->lpVtbl->Release(This)
 2469 #define IKsPropertySet_Set(This, guidPropSet, dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData) (This)->lpVtbl->Set(This, guidPropSet, dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData)
 2470 #define IKsPropertySet_Get(This, guidPropSet, dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData, pcbReturned) (This)->lpVtbl->Get(This, guidPropSet, dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData, pcbReturned)
 2471 #define IKsPropertySet_QuerySupported(This, guidPropSet, dwPropID, pTypeSupport) (This)->lpVtbl->QuerySupported(This, guidPropSet, dwPropID, pTypeSupport)
 2472 
 2473 declare function IKsPropertySet_Set_Proxy(byval This as IKsPropertySet ptr, byval guidPropSet as const GUID const ptr, byval dwPropID as DWORD, byval pInstanceData as LPVOID, byval cbInstanceData as DWORD, byval pPropData as LPVOID, byval cbPropData as DWORD) as HRESULT
 2474 declare sub IKsPropertySet_Set_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2475 declare function IKsPropertySet_Get_Proxy(byval This as IKsPropertySet ptr, byval guidPropSet as const GUID const ptr, byval dwPropID as DWORD, byval pInstanceData as LPVOID, byval cbInstanceData as DWORD, byval pPropData as LPVOID, byval cbPropData as DWORD, byval pcbReturned as DWORD ptr) as HRESULT
 2476 declare sub IKsPropertySet_Get_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2477 declare function IKsPropertySet_QuerySupported_Proxy(byval This as IKsPropertySet ptr, byval guidPropSet as const GUID const ptr, byval dwPropID as DWORD, byval pTypeSupport as DWORD ptr) as HRESULT
 2478 declare sub IKsPropertySet_QuerySupported_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2479 #define __IMediaPropertyBag_INTERFACE_DEFINED__
 2480 type IMediaPropertyBag as IMediaPropertyBag_
 2481 type LPMEDIAPROPERTYBAG as IMediaPropertyBag ptr
 2482 extern IID_IMediaPropertyBag as const GUID
 2483 
 2484 type IMediaPropertyBagVtbl
 2485     QueryInterface as function(byval This as IMediaPropertyBag ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2486     AddRef as function(byval This as IMediaPropertyBag ptr) as ULONG
 2487     Release as function(byval This as IMediaPropertyBag ptr) as ULONG
 2488     Read as function(byval This as IMediaPropertyBag ptr, byval pszPropName as LPCOLESTR, byval pVar as VARIANT ptr, byval pErrorLog as IErrorLog ptr) as HRESULT
 2489     Write as function(byval This as IMediaPropertyBag ptr, byval pszPropName as LPCOLESTR, byval pVar as VARIANT ptr) as HRESULT
 2490     EnumProperty as function(byval This as IMediaPropertyBag ptr, byval iProperty as ULONG, byval pvarPropertyName as VARIANT ptr, byval pvarPropertyValue as VARIANT ptr) as HRESULT
 2491 end type
 2492 
 2493 type IMediaPropertyBag_
 2494     lpVtbl as IMediaPropertyBagVtbl ptr
 2495 end type
 2496 
 2497 #define IMediaPropertyBag_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2498 #define IMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
 2499 #define IMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
 2500 #define IMediaPropertyBag_Read(This, pszPropName, pVar, pErrorLog) (This)->lpVtbl->Read(This, pszPropName, pVar, pErrorLog)
 2501 #define IMediaPropertyBag_Write(This, pszPropName, pVar) (This)->lpVtbl->Write(This, pszPropName, pVar)
 2502 #define IMediaPropertyBag_EnumProperty(This, iProperty, pvarPropertyName, pvarPropertyValue) (This)->lpVtbl->EnumProperty(This, iProperty, pvarPropertyName, pvarPropertyValue)
 2503 declare function IMediaPropertyBag_EnumProperty_Proxy(byval This as IMediaPropertyBag ptr, byval iProperty as ULONG, byval pvarPropertyName as VARIANT ptr, byval pvarPropertyValue as VARIANT ptr) as HRESULT
 2504 declare sub IMediaPropertyBag_EnumProperty_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2505 #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
 2506 type IPersistMediaPropertyBag as IPersistMediaPropertyBag_
 2507 type LPPERSISTMEDIAPROPERTYBAG as IPersistMediaPropertyBag ptr
 2508 extern IID_IPersistMediaPropertyBag as const GUID
 2509 
 2510 type IPersistMediaPropertyBagVtbl
 2511     QueryInterface as function(byval This as IPersistMediaPropertyBag ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2512     AddRef as function(byval This as IPersistMediaPropertyBag ptr) as ULONG
 2513     Release as function(byval This as IPersistMediaPropertyBag ptr) as ULONG
 2514     GetClassID as function(byval This as IPersistMediaPropertyBag ptr, byval pClassID as CLSID ptr) as HRESULT
 2515     InitNew as function(byval This as IPersistMediaPropertyBag ptr) as HRESULT
 2516     Load as function(byval This as IPersistMediaPropertyBag ptr, byval pPropBag as IMediaPropertyBag ptr, byval pErrorLog as IErrorLog ptr) as HRESULT
 2517     Save as function(byval This as IPersistMediaPropertyBag ptr, byval pPropBag as IMediaPropertyBag ptr, byval fClearDirty as WINBOOL, byval fSaveAllProperties as WINBOOL) as HRESULT
 2518 end type
 2519 
 2520 type IPersistMediaPropertyBag_
 2521     lpVtbl as IPersistMediaPropertyBagVtbl ptr
 2522 end type
 2523 
 2524 #define IPersistMediaPropertyBag_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2525 #define IPersistMediaPropertyBag_AddRef(This) (This)->lpVtbl->AddRef(This)
 2526 #define IPersistMediaPropertyBag_Release(This) (This)->lpVtbl->Release(This)
 2527 #define IPersistMediaPropertyBag_GetClassID(This, pClassID) (This)->lpVtbl->GetClassID(This, pClassID)
 2528 #define IPersistMediaPropertyBag_InitNew(This) (This)->lpVtbl->InitNew(This)
 2529 #define IPersistMediaPropertyBag_Load(This, pPropBag, pErrorLog) (This)->lpVtbl->Load(This, pPropBag, pErrorLog)
 2530 #define IPersistMediaPropertyBag_Save(This, pPropBag, fClearDirty, fSaveAllProperties) (This)->lpVtbl->Save(This, pPropBag, fClearDirty, fSaveAllProperties)
 2531 
 2532 declare function IPersistMediaPropertyBag_InitNew_Proxy(byval This as IPersistMediaPropertyBag ptr) as HRESULT
 2533 declare sub IPersistMediaPropertyBag_InitNew_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2534 declare function IPersistMediaPropertyBag_Load_Proxy(byval This as IPersistMediaPropertyBag ptr, byval pPropBag as IMediaPropertyBag ptr, byval pErrorLog as IErrorLog ptr) as HRESULT
 2535 declare sub IPersistMediaPropertyBag_Load_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2536 declare function IPersistMediaPropertyBag_Save_Proxy(byval This as IPersistMediaPropertyBag ptr, byval pPropBag as IMediaPropertyBag ptr, byval fClearDirty as WINBOOL, byval fSaveAllProperties as WINBOOL) as HRESULT
 2537 declare sub IPersistMediaPropertyBag_Save_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2538 #define __ISeekingPassThru_INTERFACE_DEFINED__
 2539 extern IID_ISeekingPassThru as const GUID
 2540 type ISeekingPassThru as ISeekingPassThru_
 2541 
 2542 type ISeekingPassThruVtbl
 2543     QueryInterface as function(byval This as ISeekingPassThru ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2544     AddRef as function(byval This as ISeekingPassThru ptr) as ULONG
 2545     Release as function(byval This as ISeekingPassThru ptr) as ULONG
 2546     Init as function(byval This as ISeekingPassThru ptr, byval bSupportRendering as WINBOOL, byval pPin as IPin ptr) as HRESULT
 2547 end type
 2548 
 2549 type ISeekingPassThru_
 2550     lpVtbl as ISeekingPassThruVtbl ptr
 2551 end type
 2552 
 2553 #define ISeekingPassThru_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2554 #define ISeekingPassThru_AddRef(This) (This)->lpVtbl->AddRef(This)
 2555 #define ISeekingPassThru_Release(This) (This)->lpVtbl->Release(This)
 2556 #define ISeekingPassThru_Init(This, bSupportRendering, pPin) (This)->lpVtbl->Init(This, bSupportRendering, pPin)
 2557 declare function ISeekingPassThru_Init_Proxy(byval This as ISeekingPassThru ptr, byval bSupportRendering as WINBOOL, byval pPin as IPin ptr) as HRESULT
 2558 declare sub ISeekingPassThru_Init_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2559 
 2560 type _AM_FILTER_MISC_FLAGS as long
 2561 enum
 2562     AM_FILTER_MISC_FLAGS_IS_RENDERER = &h1
 2563     AM_FILTER_MISC_FLAGS_IS_SOURCE = &h2
 2564 end enum
 2565 
 2566 #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
 2567 extern IID_IAMFilterMiscFlags as const GUID
 2568 type IAMFilterMiscFlags as IAMFilterMiscFlags_
 2569 
 2570 type IAMFilterMiscFlagsVtbl
 2571     QueryInterface as function(byval This as IAMFilterMiscFlags ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2572     AddRef as function(byval This as IAMFilterMiscFlags ptr) as ULONG
 2573     Release as function(byval This as IAMFilterMiscFlags ptr) as ULONG
 2574     GetMiscFlags as function(byval This as IAMFilterMiscFlags ptr) as ULONG
 2575 end type
 2576 
 2577 type IAMFilterMiscFlags_
 2578     lpVtbl as IAMFilterMiscFlagsVtbl ptr
 2579 end type
 2580 
 2581 #define IAMFilterMiscFlags_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2582 #define IAMFilterMiscFlags_AddRef(This) (This)->lpVtbl->AddRef(This)
 2583 #define IAMFilterMiscFlags_Release(This) (This)->lpVtbl->Release(This)
 2584 #define IAMFilterMiscFlags_GetMiscFlags(This) (This)->lpVtbl->GetMiscFlags(This)
 2585 declare function IAMFilterMiscFlags_GetMiscFlags_Proxy(byval This as IAMFilterMiscFlags ptr) as ULONG
 2586 declare sub IAMFilterMiscFlags_GetMiscFlags_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2587 #define __IAMGraphBuilderCallback_INTERFACE_DEFINED__
 2588 extern IID_IAMGraphBuilderCallback as const GUID
 2589 type IAMGraphBuilderCallback as IAMGraphBuilderCallback_
 2590 
 2591 type IAMGraphBuilderCallbackVtbl
 2592     QueryInterface as function(byval This as IAMGraphBuilderCallback ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2593     AddRef as function(byval This as IAMGraphBuilderCallback ptr) as ULONG
 2594     Release as function(byval This as IAMGraphBuilderCallback ptr) as ULONG
 2595     SelectedFilter as function(byval This as IAMGraphBuilderCallback ptr, byval pMon as IMoniker ptr) as HRESULT
 2596     CreatedFilter as function(byval This as IAMGraphBuilderCallback ptr, byval pFil as IBaseFilter ptr) as HRESULT
 2597 end type
 2598 
 2599 type IAMGraphBuilderCallback_
 2600     lpVtbl as IAMGraphBuilderCallbackVtbl ptr
 2601 end type
 2602 
 2603 #define IAMGraphBuilderCallback_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2604 #define IAMGraphBuilderCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
 2605 #define IAMGraphBuilderCallback_Release(This) (This)->lpVtbl->Release(This)
 2606 #define IAMGraphBuilderCallback_SelectedFilter(This, pMon) (This)->lpVtbl->SelectedFilter(This, pMon)
 2607 #define IAMGraphBuilderCallback_CreatedFilter(This, pFil) (This)->lpVtbl->CreatedFilter(This, pFil)
 2608 
 2609 declare function IAMGraphBuilderCallback_SelectedFilter_Proxy(byval This as IAMGraphBuilderCallback ptr, byval pMon as IMoniker ptr) as HRESULT
 2610 declare sub IAMGraphBuilderCallback_SelectedFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2611 declare function IAMGraphBuilderCallback_CreatedFilter_Proxy(byval This as IAMGraphBuilderCallback ptr, byval pFil as IBaseFilter ptr) as HRESULT
 2612 declare sub IAMGraphBuilderCallback_CreatedFilter_Stub(byval This as IRpcStubBuffer ptr, byval pRpcChannelBuffer as IRpcChannelBuffer ptr, byval pRpcMessage as PRPC_MESSAGE, byval pdwStubPhase as DWORD ptr)
 2613 
 2614 #define __IDistributorNotify_FWD_DEFINED__
 2615 #define __IAMVideoControl_FWD_DEFINED__
 2616 #define __IAMTuner_FWD_DEFINED__
 2617 #define __IAMTunerNotification_FWD_DEFINED__
 2618 #define __IBPCSatelliteTuner_FWD_DEFINED__
 2619 #define __IAMTVAudio_FWD_DEFINED__
 2620 #define __IAMTVAudioNotification_FWD_DEFINED__
 2621 #define __IAMStreamSelect_FWD_DEFINED__
 2622 #define __IAMResourceControl_FWD_DEFINED__
 2623 #define __IAMClockAdjust_FWD_DEFINED__
 2624 #define __IVideoFrameStep_FWD_DEFINED__
 2625 #define __IAMDeviceRemoval_FWD_DEFINED__
 2626 #define __IDVEnc_FWD_DEFINED__
 2627 #define __IIPDVDec_FWD_DEFINED__
 2628 #define __IDVRGB219_FWD_DEFINED__
 2629 #define __IDVSplitter_FWD_DEFINED__
 2630 #define __IRegisterServiceProvider_FWD_DEFINED__
 2631 #define __ICodecAPI_FWD_DEFINED__
 2632 #define __IGetCapabilitiesKey_FWD_DEFINED__
 2633 #define __IEncoderAPI_FWD_DEFINED__
 2634 #define __IVideoEncoder_FWD_DEFINED__
 2635 #define __IAMDecoderCaps_FWD_DEFINED__
 2636 #define __IDvdControl_FWD_DEFINED__
 2637 #define __IDvdInfo_FWD_DEFINED__
 2638 #define __IDvdCmd_FWD_DEFINED__
 2639 #define __IDvdState_FWD_DEFINED__
 2640 #define __IDvdControl2_FWD_DEFINED__
 2641 #define __IDvdInfo2_FWD_DEFINED__
 2642 #define __IDvdGraphBuilder_FWD_DEFINED__
 2643 #define __IDDrawExclModeVideo_FWD_DEFINED__
 2644 #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
 2645 #define __IPinConnection_FWD_DEFINED__
 2646 #define __IPinFlowControl_FWD_DEFINED__
 2647 #define __IGraphConfig_FWD_DEFINED__
 2648 #define __IGraphConfigCallback_FWD_DEFINED__
 2649 #define __IFilterChain_FWD_DEFINED__
 2650 #define __IVMRImagePresenter_FWD_DEFINED__
 2651 #define __IVMRSurfaceAllocator_FWD_DEFINED__
 2652 #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
 2653 #define __IVMRWindowlessControl_FWD_DEFINED__
 2654 #define __IVMRMixerControl_FWD_DEFINED__
 2655 #define __IVMRMonitorConfig_FWD_DEFINED__
 2656 #define __IVMRFilterConfig_FWD_DEFINED__
 2657 #define __IVMRAspectRatioControl_FWD_DEFINED__
 2658 #define __IVMRDeinterlaceControl_FWD_DEFINED__
 2659 #define __IVMRMixerBitmap_FWD_DEFINED__
 2660 #define __IVMRImageCompositor_FWD_DEFINED__
 2661 #define __IVMRVideoStreamControl_FWD_DEFINED__
 2662 #define __IVMRSurface_FWD_DEFINED__
 2663 #define __IVMRImagePresenterConfig_FWD_DEFINED__
 2664 #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
 2665 #define __IVPManager_FWD_DEFINED__
 2666 #define __IAMAsyncReaderTimestampScaling_FWD_DEFINED__
 2667 #define __IAMPluginControl_FWD_DEFINED__
 2668 extern __MIDL_itf_strmif_0125_v0_0_c_ifspec as RPC_IF_HANDLE
 2669 extern __MIDL_itf_strmif_0125_v0_0_s_ifspec as RPC_IF_HANDLE
 2670 type PREFERENCECLOCK2 as IReferenceClock2 ptr
 2671 #define __IDistributorNotify_INTERFACE_DEFINED__
 2672 extern IID_IDistributorNotify as const IID
 2673 type IDistributorNotify as IDistributorNotify_
 2674 
 2675 type IDistributorNotifyVtbl
 2676     QueryInterface as function(byval This as IDistributorNotify ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2677     AddRef as function(byval This as IDistributorNotify ptr) as ULONG
 2678     Release as function(byval This as IDistributorNotify ptr) as ULONG
 2679     Stop as function(byval This as IDistributorNotify ptr) as HRESULT
 2680     Pause as function(byval This as IDistributorNotify ptr) as HRESULT
 2681     Run as function(byval This as IDistributorNotify ptr, byval tStart as REFERENCE_TIME) as HRESULT
 2682     SetSyncSource as function(byval This as IDistributorNotify ptr, byval pClock as IReferenceClock ptr) as HRESULT
 2683     NotifyGraphChange as function(byval This as IDistributorNotify ptr) as HRESULT
 2684 end type
 2685 
 2686 type IDistributorNotify_
 2687     lpVtbl as IDistributorNotifyVtbl ptr
 2688 end type
 2689 
 2690 #define IDistributorNotify_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2691 #define IDistributorNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
 2692 #define IDistributorNotify_Release(This) (This)->lpVtbl->Release(This)
 2693 #define IDistributorNotify_Stop(This) (This)->lpVtbl->Stop(This)
 2694 #define IDistributorNotify_Pause(This) (This)->lpVtbl->Pause(This)
 2695 #define IDistributorNotify_Run(This, tStart) (This)->lpVtbl->Run(This, tStart)
 2696 #define IDistributorNotify_SetSyncSource(This, pClock) (This)->lpVtbl->SetSyncSource(This, pClock)
 2697 #define IDistributorNotify_NotifyGraphChange(This) (This)->lpVtbl->NotifyGraphChange(This)
 2698 
 2699 declare function IDistributorNotify_Stop_Proxy(byval This as IDistributorNotify ptr) as HRESULT
 2700 declare sub IDistributorNotify_Stop_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2701 declare function IDistributorNotify_Pause_Proxy(byval This as IDistributorNotify ptr) as HRESULT
 2702 declare sub IDistributorNotify_Pause_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2703 declare function IDistributorNotify_Run_Proxy(byval This as IDistributorNotify ptr, byval tStart as REFERENCE_TIME) as HRESULT
 2704 declare sub IDistributorNotify_Run_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2705 declare function IDistributorNotify_SetSyncSource_Proxy(byval This as IDistributorNotify ptr, byval pClock as IReferenceClock ptr) as HRESULT
 2706 declare sub IDistributorNotify_SetSyncSource_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2707 declare function IDistributorNotify_NotifyGraphChange_Proxy(byval This as IDistributorNotify ptr) as HRESULT
 2708 declare sub IDistributorNotify_NotifyGraphChange_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2709 
 2710 type __MIDL___MIDL_itf_strmif_0167_0001 as long
 2711 enum
 2712     CompressionCaps_CanQuality = &h1
 2713     CompressionCaps_CanCrunch = &h2
 2714     CompressionCaps_CanKeyFrame = &h4
 2715     CompressionCaps_CanBFrame = &h8
 2716     CompressionCaps_CanWindow = &h10
 2717 end enum
 2718 
 2719 type CompressionCaps as __MIDL___MIDL_itf_strmif_0167_0001
 2720 extern __MIDL_itf_strmif_0167_v0_0_c_ifspec as RPC_IF_HANDLE
 2721 extern __MIDL_itf_strmif_0167_v0_0_s_ifspec as RPC_IF_HANDLE
 2722 #define __IAMVideoCompression_INTERFACE_DEFINED__
 2723 extern IID_IAMVideoCompression as const IID
 2724 type IAMVideoCompression as IAMVideoCompression_
 2725 
 2726 type IAMVideoCompressionVtbl
 2727     QueryInterface as function(byval This as IAMVideoCompression ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2728     AddRef as function(byval This as IAMVideoCompression ptr) as ULONG
 2729     Release as function(byval This as IAMVideoCompression ptr) as ULONG
 2730     put_KeyFrameRate as function(byval This as IAMVideoCompression ptr, byval KeyFrameRate as LONG) as HRESULT
 2731     get_KeyFrameRate as function(byval This as IAMVideoCompression ptr, byval pKeyFrameRate as LONG ptr) as HRESULT
 2732     put_PFramesPerKeyFrame as function(byval This as IAMVideoCompression ptr, byval PFramesPerKeyFrame as LONG) as HRESULT
 2733     get_PFramesPerKeyFrame as function(byval This as IAMVideoCompression ptr, byval pPFramesPerKeyFrame as LONG ptr) as HRESULT
 2734     put_Quality as function(byval This as IAMVideoCompression ptr, byval Quality as double) as HRESULT
 2735     get_Quality as function(byval This as IAMVideoCompression ptr, byval pQuality as double ptr) as HRESULT
 2736     put_WindowSize as function(byval This as IAMVideoCompression ptr, byval WindowSize as DWORDLONG) as HRESULT
 2737     get_WindowSize as function(byval This as IAMVideoCompression ptr, byval pWindowSize as DWORDLONG ptr) as HRESULT
 2738     GetInfo as function(byval This as IAMVideoCompression ptr, byval pszVersion as wstring ptr, byval pcbVersion as long ptr, byval pszDescription as LPWSTR, byval pcbDescription as long ptr, byval pDefaultKeyFrameRate as LONG ptr, byval pDefaultPFramesPerKey as LONG ptr, byval pDefaultQuality as double ptr, byval pCapabilities as LONG ptr) as HRESULT
 2739     OverrideKeyFrame as function(byval This as IAMVideoCompression ptr, byval FrameNumber as LONG) as HRESULT
 2740     OverrideFrameSize as function(byval This as IAMVideoCompression ptr, byval FrameNumber as LONG, byval Size as LONG) as HRESULT
 2741 end type
 2742 
 2743 type IAMVideoCompression_
 2744     lpVtbl as IAMVideoCompressionVtbl ptr
 2745 end type
 2746 
 2747 #define IAMVideoCompression_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2748 #define IAMVideoCompression_AddRef(This) (This)->lpVtbl->AddRef(This)
 2749 #define IAMVideoCompression_Release(This) (This)->lpVtbl->Release(This)
 2750 #define IAMVideoCompression_put_KeyFrameRate(This, KeyFrameRate) (This)->lpVtbl->put_KeyFrameRate(This, KeyFrameRate)
 2751 #define IAMVideoCompression_get_KeyFrameRate(This, pKeyFrameRate) (This)->lpVtbl->get_KeyFrameRate(This, pKeyFrameRate)
 2752 #define IAMVideoCompression_put_PFramesPerKeyFrame(This, PFramesPerKeyFrame) (This)->lpVtbl->put_PFramesPerKeyFrame(This, PFramesPerKeyFrame)
 2753 #define IAMVideoCompression_get_PFramesPerKeyFrame(This, pPFramesPerKeyFrame) (This)->lpVtbl->get_PFramesPerKeyFrame(This, pPFramesPerKeyFrame)
 2754 #define IAMVideoCompression_put_Quality(This, Quality) (This)->lpVtbl->put_Quality(This, Quality)
 2755 #define IAMVideoCompression_get_Quality(This, pQuality) (This)->lpVtbl->get_Quality(This, pQuality)
 2756 #define IAMVideoCompression_put_WindowSize(This, WindowSize) (This)->lpVtbl->put_WindowSize(This, WindowSize)
 2757 #define IAMVideoCompression_get_WindowSize(This, pWindowSize) (This)->lpVtbl->get_WindowSize(This, pWindowSize)
 2758 #define IAMVideoCompression_GetInfo(This, pszVersion, pcbVersion, pszDescription, pcbDescription, pDefaultKeyFrameRate, pDefaultPFramesPerKey, pDefaultQuality, pCapabilities) (This)->lpVtbl->GetInfo(This, pszVersion, pcbVersion, pszDescription, pcbDescription, pDefaultKeyFrameRate, pDefaultPFramesPerKey, pDefaultQuality, pCapabilities)
 2759 #define IAMVideoCompression_OverrideKeyFrame(This, FrameNumber) (This)->lpVtbl->OverrideKeyFrame(This, FrameNumber)
 2760 #define IAMVideoCompression_OverrideFrameSize(This, FrameNumber, Size) (This)->lpVtbl->OverrideFrameSize(This, FrameNumber, Size)
 2761 
 2762 declare function IAMVideoCompression_put_KeyFrameRate_Proxy(byval This as IAMVideoCompression ptr, byval KeyFrameRate as LONG) as HRESULT
 2763 declare sub IAMVideoCompression_put_KeyFrameRate_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2764 declare function IAMVideoCompression_get_KeyFrameRate_Proxy(byval This as IAMVideoCompression ptr, byval pKeyFrameRate as LONG ptr) as HRESULT
 2765 declare sub IAMVideoCompression_get_KeyFrameRate_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2766 declare function IAMVideoCompression_put_PFramesPerKeyFrame_Proxy(byval This as IAMVideoCompression ptr, byval PFramesPerKeyFrame as LONG) as HRESULT
 2767 declare sub IAMVideoCompression_put_PFramesPerKeyFrame_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2768 declare function IAMVideoCompression_get_PFramesPerKeyFrame_Proxy(byval This as IAMVideoCompression ptr, byval pPFramesPerKeyFrame as LONG ptr) as HRESULT
 2769 declare sub IAMVideoCompression_get_PFramesPerKeyFrame_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2770 declare function IAMVideoCompression_put_Quality_Proxy(byval This as IAMVideoCompression ptr, byval Quality as double) as HRESULT
 2771 declare sub IAMVideoCompression_put_Quality_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2772 declare function IAMVideoCompression_get_Quality_Proxy(byval This as IAMVideoCompression ptr, byval pQuality as double ptr) as HRESULT
 2773 declare sub IAMVideoCompression_get_Quality_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2774 declare function IAMVideoCompression_put_WindowSize_Proxy(byval This as IAMVideoCompression ptr, byval WindowSize as DWORDLONG) as HRESULT
 2775 declare sub IAMVideoCompression_put_WindowSize_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2776 declare function IAMVideoCompression_get_WindowSize_Proxy(byval This as IAMVideoCompression ptr, byval pWindowSize as DWORDLONG ptr) as HRESULT
 2777 declare sub IAMVideoCompression_get_WindowSize_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2778 declare function IAMVideoCompression_GetInfo_Proxy(byval This as IAMVideoCompression ptr, byval pszVersion as wstring ptr, byval pcbVersion as long ptr, byval pszDescription as LPWSTR, byval pcbDescription as long ptr, byval pDefaultKeyFrameRate as LONG ptr, byval pDefaultPFramesPerKey as LONG ptr, byval pDefaultQuality as double ptr, byval pCapabilities as LONG ptr) as HRESULT
 2779 declare sub IAMVideoCompression_GetInfo_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2780 declare function IAMVideoCompression_OverrideKeyFrame_Proxy(byval This as IAMVideoCompression ptr, byval FrameNumber as LONG) as HRESULT
 2781 declare sub IAMVideoCompression_OverrideKeyFrame_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2782 declare function IAMVideoCompression_OverrideFrameSize_Proxy(byval This as IAMVideoCompression ptr, byval FrameNumber as LONG, byval Size as LONG) as HRESULT
 2783 declare sub IAMVideoCompression_OverrideFrameSize_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2784 
 2785 type __MIDL___MIDL_itf_strmif_0168_0001 as long
 2786 enum
 2787     VfwCaptureDialog_Source = &h1
 2788     VfwCaptureDialog_Format = &h2
 2789     VfwCaptureDialog_Display = &h4
 2790 end enum
 2791 
 2792 type VfwCaptureDialogs as __MIDL___MIDL_itf_strmif_0168_0001
 2793 
 2794 type __MIDL___MIDL_itf_strmif_0168_0002 as long
 2795 enum
 2796     VfwCompressDialog_Config = &h1
 2797     VfwCompressDialog_About = &h2
 2798     VfwCompressDialog_QueryConfig = &h4
 2799     VfwCompressDialog_QueryAbout = &h8
 2800 end enum
 2801 
 2802 type VfwCompressDialogs as __MIDL___MIDL_itf_strmif_0168_0002
 2803 extern __MIDL_itf_strmif_0168_v0_0_c_ifspec as RPC_IF_HANDLE
 2804 extern __MIDL_itf_strmif_0168_v0_0_s_ifspec as RPC_IF_HANDLE
 2805 #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
 2806 extern IID_IAMVfwCaptureDialogs as const IID
 2807 type IAMVfwCaptureDialogs as IAMVfwCaptureDialogs_
 2808 
 2809 type IAMVfwCaptureDialogsVtbl
 2810     QueryInterface as function(byval This as IAMVfwCaptureDialogs ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2811     AddRef as function(byval This as IAMVfwCaptureDialogs ptr) as ULONG
 2812     Release as function(byval This as IAMVfwCaptureDialogs ptr) as ULONG
 2813     HasDialog as function(byval This as IAMVfwCaptureDialogs ptr, byval iDialog as long) as HRESULT
 2814     ShowDialog as function(byval This as IAMVfwCaptureDialogs ptr, byval iDialog as long, byval hwnd as HWND) as HRESULT
 2815     SendDriverMessage as function(byval This as IAMVfwCaptureDialogs ptr, byval iDialog as long, byval uMsg as long, byval dw1 as LONG, byval dw2 as LONG) as HRESULT
 2816 end type
 2817 
 2818 type IAMVfwCaptureDialogs_
 2819     lpVtbl as IAMVfwCaptureDialogsVtbl ptr
 2820 end type
 2821 
 2822 #define IAMVfwCaptureDialogs_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2823 #define IAMVfwCaptureDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
 2824 #define IAMVfwCaptureDialogs_Release(This) (This)->lpVtbl->Release(This)
 2825 #define IAMVfwCaptureDialogs_HasDialog(This, iDialog) (This)->lpVtbl->HasDialog(This, iDialog)
 2826 #define IAMVfwCaptureDialogs_ShowDialog(This, iDialog, hwnd) (This)->lpVtbl->ShowDialog(This, iDialog, hwnd)
 2827 #define IAMVfwCaptureDialogs_SendDriverMessage(This, iDialog, uMsg, dw1, dw2) (This)->lpVtbl->SendDriverMessage(This, iDialog, uMsg, dw1, dw2)
 2828 
 2829 declare function IAMVfwCaptureDialogs_HasDialog_Proxy(byval This as IAMVfwCaptureDialogs ptr, byval iDialog as long) as HRESULT
 2830 declare sub IAMVfwCaptureDialogs_HasDialog_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2831 declare function IAMVfwCaptureDialogs_ShowDialog_Proxy(byval This as IAMVfwCaptureDialogs ptr, byval iDialog as long, byval hwnd as HWND) as HRESULT
 2832 declare sub IAMVfwCaptureDialogs_ShowDialog_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2833 declare function IAMVfwCaptureDialogs_SendDriverMessage_Proxy(byval This as IAMVfwCaptureDialogs ptr, byval iDialog as long, byval uMsg as long, byval dw1 as LONG, byval dw2 as LONG) as HRESULT
 2834 declare sub IAMVfwCaptureDialogs_SendDriverMessage_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2835 #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
 2836 extern IID_IAMVfwCompressDialogs as const IID
 2837 type IAMVfwCompressDialogs as IAMVfwCompressDialogs_
 2838 
 2839 type IAMVfwCompressDialogsVtbl
 2840     QueryInterface as function(byval This as IAMVfwCompressDialogs ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2841     AddRef as function(byval This as IAMVfwCompressDialogs ptr) as ULONG
 2842     Release as function(byval This as IAMVfwCompressDialogs ptr) as ULONG
 2843     ShowDialog as function(byval This as IAMVfwCompressDialogs ptr, byval iDialog as long, byval hwnd as HWND) as HRESULT
 2844     GetState as function(byval This as IAMVfwCompressDialogs ptr, byval pState as LPVOID, byval pcbState as long ptr) as HRESULT
 2845     SetState as function(byval This as IAMVfwCompressDialogs ptr, byval pState as LPVOID, byval cbState as long) as HRESULT
 2846     SendDriverMessage as function(byval This as IAMVfwCompressDialogs ptr, byval uMsg as long, byval dw1 as LONG, byval dw2 as LONG) as HRESULT
 2847 end type
 2848 
 2849 type IAMVfwCompressDialogs_
 2850     lpVtbl as IAMVfwCompressDialogsVtbl ptr
 2851 end type
 2852 
 2853 #define IAMVfwCompressDialogs_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2854 #define IAMVfwCompressDialogs_AddRef(This) (This)->lpVtbl->AddRef(This)
 2855 #define IAMVfwCompressDialogs_Release(This) (This)->lpVtbl->Release(This)
 2856 #define IAMVfwCompressDialogs_ShowDialog(This, iDialog, hwnd) (This)->lpVtbl->ShowDialog(This, iDialog, hwnd)
 2857 #define IAMVfwCompressDialogs_GetState(This, pState, pcbState) (This)->lpVtbl->GetState(This, pState, pcbState)
 2858 #define IAMVfwCompressDialogs_SetState(This, pState, cbState) (This)->lpVtbl->SetState(This, pState, cbState)
 2859 #define IAMVfwCompressDialogs_SendDriverMessage(This, uMsg, dw1, dw2) (This)->lpVtbl->SendDriverMessage(This, uMsg, dw1, dw2)
 2860 
 2861 declare function IAMVfwCompressDialogs_ShowDialog_Proxy(byval This as IAMVfwCompressDialogs ptr, byval iDialog as long, byval hwnd as HWND) as HRESULT
 2862 declare sub IAMVfwCompressDialogs_ShowDialog_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2863 declare function IAMVfwCompressDialogs_GetState_Proxy(byval This as IAMVfwCompressDialogs ptr, byval pState as LPVOID, byval pcbState as long ptr) as HRESULT
 2864 declare sub IAMVfwCompressDialogs_GetState_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2865 declare function IAMVfwCompressDialogs_SetState_Proxy(byval This as IAMVfwCompressDialogs ptr, byval pState as LPVOID, byval cbState as long) as HRESULT
 2866 declare sub IAMVfwCompressDialogs_SetState_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2867 declare function IAMVfwCompressDialogs_SendDriverMessage_Proxy(byval This as IAMVfwCompressDialogs ptr, byval uMsg as long, byval dw1 as LONG, byval dw2 as LONG) as HRESULT
 2868 declare sub IAMVfwCompressDialogs_SendDriverMessage_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2869 #define __IAMDroppedFrames_INTERFACE_DEFINED__
 2870 extern IID_IAMDroppedFrames as const IID
 2871 type IAMDroppedFrames as IAMDroppedFrames_
 2872 
 2873 type IAMDroppedFramesVtbl
 2874     QueryInterface as function(byval This as IAMDroppedFrames ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2875     AddRef as function(byval This as IAMDroppedFrames ptr) as ULONG
 2876     Release as function(byval This as IAMDroppedFrames ptr) as ULONG
 2877     GetNumDropped as function(byval This as IAMDroppedFrames ptr, byval plDropped as LONG ptr) as HRESULT
 2878     GetNumNotDropped as function(byval This as IAMDroppedFrames ptr, byval plNotDropped as LONG ptr) as HRESULT
 2879     GetDroppedInfo as function(byval This as IAMDroppedFrames ptr, byval lSize as LONG, byval plArray as LONG ptr, byval plNumCopied as LONG ptr) as HRESULT
 2880     GetAverageFrameSize as function(byval This as IAMDroppedFrames ptr, byval plAverageSize as LONG ptr) as HRESULT
 2881 end type
 2882 
 2883 type IAMDroppedFrames_
 2884     lpVtbl as IAMDroppedFramesVtbl ptr
 2885 end type
 2886 
 2887 #define IAMDroppedFrames_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2888 #define IAMDroppedFrames_AddRef(This) (This)->lpVtbl->AddRef(This)
 2889 #define IAMDroppedFrames_Release(This) (This)->lpVtbl->Release(This)
 2890 #define IAMDroppedFrames_GetNumDropped(This, plDropped) (This)->lpVtbl->GetNumDropped(This, plDropped)
 2891 #define IAMDroppedFrames_GetNumNotDropped(This, plNotDropped) (This)->lpVtbl->GetNumNotDropped(This, plNotDropped)
 2892 #define IAMDroppedFrames_GetDroppedInfo(This, lSize, plArray, plNumCopied) (This)->lpVtbl->GetDroppedInfo(This, lSize, plArray, plNumCopied)
 2893 #define IAMDroppedFrames_GetAverageFrameSize(This, plAverageSize) (This)->lpVtbl->GetAverageFrameSize(This, plAverageSize)
 2894 
 2895 declare function IAMDroppedFrames_GetNumDropped_Proxy(byval This as IAMDroppedFrames ptr, byval plDropped as LONG ptr) as HRESULT
 2896 declare sub IAMDroppedFrames_GetNumDropped_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2897 declare function IAMDroppedFrames_GetNumNotDropped_Proxy(byval This as IAMDroppedFrames ptr, byval plNotDropped as LONG ptr) as HRESULT
 2898 declare sub IAMDroppedFrames_GetNumNotDropped_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2899 declare function IAMDroppedFrames_GetDroppedInfo_Proxy(byval This as IAMDroppedFrames ptr, byval lSize as LONG, byval plArray as LONG ptr, byval plNumCopied as LONG ptr) as HRESULT
 2900 declare sub IAMDroppedFrames_GetDroppedInfo_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2901 declare function IAMDroppedFrames_GetAverageFrameSize_Proxy(byval This as IAMDroppedFrames ptr, byval plAverageSize as LONG ptr) as HRESULT
 2902 declare sub IAMDroppedFrames_GetAverageFrameSize_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2903 const AMF_AUTOMATICGAIN = -1.0
 2904 extern __MIDL_itf_strmif_0171_v0_0_c_ifspec as RPC_IF_HANDLE
 2905 extern __MIDL_itf_strmif_0171_v0_0_s_ifspec as RPC_IF_HANDLE
 2906 #define __IAMAudioInputMixer_INTERFACE_DEFINED__
 2907 extern IID_IAMAudioInputMixer as const IID
 2908 type IAMAudioInputMixer as IAMAudioInputMixer_
 2909 
 2910 type IAMAudioInputMixerVtbl
 2911     QueryInterface as function(byval This as IAMAudioInputMixer ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2912     AddRef as function(byval This as IAMAudioInputMixer ptr) as ULONG
 2913     Release as function(byval This as IAMAudioInputMixer ptr) as ULONG
 2914     put_Enable as function(byval This as IAMAudioInputMixer ptr, byval fEnable as WINBOOL) as HRESULT
 2915     get_Enable as function(byval This as IAMAudioInputMixer ptr, byval pfEnable as WINBOOL ptr) as HRESULT
 2916     put_Mono as function(byval This as IAMAudioInputMixer ptr, byval fMono as WINBOOL) as HRESULT
 2917     get_Mono as function(byval This as IAMAudioInputMixer ptr, byval pfMono as WINBOOL ptr) as HRESULT
 2918     put_MixLevel as function(byval This as IAMAudioInputMixer ptr, byval Level as double) as HRESULT
 2919     get_MixLevel as function(byval This as IAMAudioInputMixer ptr, byval pLevel as double ptr) as HRESULT
 2920     put_Pan as function(byval This as IAMAudioInputMixer ptr, byval Pan as double) as HRESULT
 2921     get_Pan as function(byval This as IAMAudioInputMixer ptr, byval pPan as double ptr) as HRESULT
 2922     put_Loudness as function(byval This as IAMAudioInputMixer ptr, byval fLoudness as WINBOOL) as HRESULT
 2923     get_Loudness as function(byval This as IAMAudioInputMixer ptr, byval pfLoudness as WINBOOL ptr) as HRESULT
 2924     put_Treble as function(byval This as IAMAudioInputMixer ptr, byval Treble as double) as HRESULT
 2925     get_Treble as function(byval This as IAMAudioInputMixer ptr, byval pTreble as double ptr) as HRESULT
 2926     get_TrebleRange as function(byval This as IAMAudioInputMixer ptr, byval pRange as double ptr) as HRESULT
 2927     put_Bass as function(byval This as IAMAudioInputMixer ptr, byval Bass as double) as HRESULT
 2928     get_Bass as function(byval This as IAMAudioInputMixer ptr, byval pBass as double ptr) as HRESULT
 2929     get_BassRange as function(byval This as IAMAudioInputMixer ptr, byval pRange as double ptr) as HRESULT
 2930 end type
 2931 
 2932 type IAMAudioInputMixer_
 2933     lpVtbl as IAMAudioInputMixerVtbl ptr
 2934 end type
 2935 
 2936 #define IAMAudioInputMixer_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 2937 #define IAMAudioInputMixer_AddRef(This) (This)->lpVtbl->AddRef(This)
 2938 #define IAMAudioInputMixer_Release(This) (This)->lpVtbl->Release(This)
 2939 #define IAMAudioInputMixer_put_Enable(This, fEnable) (This)->lpVtbl->put_Enable(This, fEnable)
 2940 #define IAMAudioInputMixer_get_Enable(This, pfEnable) (This)->lpVtbl->get_Enable(This, pfEnable)
 2941 #define IAMAudioInputMixer_put_Mono(This, fMono) (This)->lpVtbl->put_Mono(This, fMono)
 2942 #define IAMAudioInputMixer_get_Mono(This, pfMono) (This)->lpVtbl->get_Mono(This, pfMono)
 2943 #define IAMAudioInputMixer_put_MixLevel(This, Level) (This)->lpVtbl->put_MixLevel(This, Level)
 2944 #define IAMAudioInputMixer_get_MixLevel(This, pLevel) (This)->lpVtbl->get_MixLevel(This, pLevel)
 2945 #define IAMAudioInputMixer_put_Pan(This, Pan) (This)->lpVtbl->put_Pan(This, Pan)
 2946 #define IAMAudioInputMixer_get_Pan(This, pPan) (This)->lpVtbl->get_Pan(This, pPan)
 2947 #define IAMAudioInputMixer_put_Loudness(This, fLoudness) (This)->lpVtbl->put_Loudness(This, fLoudness)
 2948 #define IAMAudioInputMixer_get_Loudness(This, pfLoudness) (This)->lpVtbl->get_Loudness(This, pfLoudness)
 2949 #define IAMAudioInputMixer_put_Treble(This, Treble) (This)->lpVtbl->put_Treble(This, Treble)
 2950 #define IAMAudioInputMixer_get_Treble(This, pTreble) (This)->lpVtbl->get_Treble(This, pTreble)
 2951 #define IAMAudioInputMixer_get_TrebleRange(This, pRange) (This)->lpVtbl->get_TrebleRange(This, pRange)
 2952 #define IAMAudioInputMixer_put_Bass(This, Bass) (This)->lpVtbl->put_Bass(This, Bass)
 2953 #define IAMAudioInputMixer_get_Bass(This, pBass) (This)->lpVtbl->get_Bass(This, pBass)
 2954 #define IAMAudioInputMixer_get_BassRange(This, pRange) (This)->lpVtbl->get_BassRange(This, pRange)
 2955 
 2956 declare function IAMAudioInputMixer_put_Enable_Proxy(byval This as IAMAudioInputMixer ptr, byval fEnable as WINBOOL) as HRESULT
 2957 declare sub IAMAudioInputMixer_put_Enable_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2958 declare function IAMAudioInputMixer_get_Enable_Proxy(byval This as IAMAudioInputMixer ptr, byval pfEnable as WINBOOL ptr) as HRESULT
 2959 declare sub IAMAudioInputMixer_get_Enable_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2960 declare function IAMAudioInputMixer_put_Mono_Proxy(byval This as IAMAudioInputMixer ptr, byval fMono as WINBOOL) as HRESULT
 2961 declare sub IAMAudioInputMixer_put_Mono_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2962 declare function IAMAudioInputMixer_get_Mono_Proxy(byval This as IAMAudioInputMixer ptr, byval pfMono as WINBOOL ptr) as HRESULT
 2963 declare sub IAMAudioInputMixer_get_Mono_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2964 declare function IAMAudioInputMixer_put_MixLevel_Proxy(byval This as IAMAudioInputMixer ptr, byval Level as double) as HRESULT
 2965 declare sub IAMAudioInputMixer_put_MixLevel_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2966 declare function IAMAudioInputMixer_get_MixLevel_Proxy(byval This as IAMAudioInputMixer ptr, byval pLevel as double ptr) as HRESULT
 2967 declare sub IAMAudioInputMixer_get_MixLevel_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2968 declare function IAMAudioInputMixer_put_Pan_Proxy(byval This as IAMAudioInputMixer ptr, byval Pan as double) as HRESULT
 2969 declare sub IAMAudioInputMixer_put_Pan_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2970 declare function IAMAudioInputMixer_get_Pan_Proxy(byval This as IAMAudioInputMixer ptr, byval pPan as double ptr) as HRESULT
 2971 declare sub IAMAudioInputMixer_get_Pan_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2972 declare function IAMAudioInputMixer_put_Loudness_Proxy(byval This as IAMAudioInputMixer ptr, byval fLoudness as WINBOOL) as HRESULT
 2973 declare sub IAMAudioInputMixer_put_Loudness_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2974 declare function IAMAudioInputMixer_get_Loudness_Proxy(byval This as IAMAudioInputMixer ptr, byval pfLoudness as WINBOOL ptr) as HRESULT
 2975 declare sub IAMAudioInputMixer_get_Loudness_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2976 declare function IAMAudioInputMixer_put_Treble_Proxy(byval This as IAMAudioInputMixer ptr, byval Treble as double) as HRESULT
 2977 declare sub IAMAudioInputMixer_put_Treble_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2978 declare function IAMAudioInputMixer_get_Treble_Proxy(byval This as IAMAudioInputMixer ptr, byval pTreble as double ptr) as HRESULT
 2979 declare sub IAMAudioInputMixer_get_Treble_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2980 declare function IAMAudioInputMixer_get_TrebleRange_Proxy(byval This as IAMAudioInputMixer ptr, byval pRange as double ptr) as HRESULT
 2981 declare sub IAMAudioInputMixer_get_TrebleRange_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2982 declare function IAMAudioInputMixer_put_Bass_Proxy(byval This as IAMAudioInputMixer ptr, byval Bass as double) as HRESULT
 2983 declare sub IAMAudioInputMixer_put_Bass_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2984 declare function IAMAudioInputMixer_get_Bass_Proxy(byval This as IAMAudioInputMixer ptr, byval pBass as double ptr) as HRESULT
 2985 declare sub IAMAudioInputMixer_get_Bass_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2986 declare function IAMAudioInputMixer_get_BassRange_Proxy(byval This as IAMAudioInputMixer ptr, byval pRange as double ptr) as HRESULT
 2987 declare sub IAMAudioInputMixer_get_BassRange_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 2988 #define __IAMBufferNegotiation_INTERFACE_DEFINED__
 2989 extern IID_IAMBufferNegotiation as const IID
 2990 type IAMBufferNegotiation as IAMBufferNegotiation_
 2991 
 2992 type IAMBufferNegotiationVtbl
 2993     QueryInterface as function(byval This as IAMBufferNegotiation ptr, byval riid as const IID const ptr, byval ppvObject as any ptr ptr) as HRESULT
 2994     AddRef as function(byval This as IAMBufferNegotiation ptr) as ULONG
 2995     Release as function(byval This as IAMBufferNegotiation ptr) as ULONG
 2996     SuggestAllocatorProperties as function(byval This as IAMBufferNegotiation ptr, byval pprop as const ALLOCATOR_PROPERTIES ptr) as HRESULT
 2997     GetAllocatorProperties as function(byval This as IAMBufferNegotiation ptr, byval pprop as ALLOCATOR_PROPERTIES ptr) as HRESULT
 2998 end type
 2999 
 3000 type IAMBufferNegotiation_
 3001     lpVtbl as IAMBufferNegotiationVtbl ptr
 3002 end type
 3003 
 3004 #define IAMBufferNegotiation_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject)
 3005 #define IAMBufferNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This)
 3006 #define IAMBufferNegotiation_Release(This) (This)->lpVtbl->Release(This)
 3007 #define IAMBufferNegotiation_SuggestAllocatorProperties(This, pprop) (This)->lpVtbl->SuggestAllocatorProperties(This, pprop)
 3008 #define IAMBufferNegotiation_GetAllocatorProperties(This, pprop) (This)->lpVtbl->GetAllocatorProperties(This, pprop)
 3009 
 3010 declare function IAMBufferNegotiation_SuggestAllocatorProperties_Proxy(byval This as IAMBufferNegotiation ptr, byval pprop as const ALLOCATOR_PROPERTIES ptr) as HRESULT
 3011 declare sub IAMBufferNegotiation_SuggestAllocatorProperties_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 3012 declare function IAMBufferNegotiation_GetAllocatorProperties_Proxy(byval This as IAMBufferNegotiation ptr, byval pprop as ALLOCATOR_PROPERTIES ptr) as HRESULT
 3013 declare sub IAMBufferNegotiation_GetAllocatorProperties_Stub(byval This as IRpcStubBuffer ptr, byval _pRpcChannelBuffer as IRpcChannelBuffer ptr, byval _pRpcMessage as PRPC_MESSAGE, byval _pdwStubPhase as DWORD ptr)
 3014 
 3015 type tagAnalogVideoStandard as long
 3016 enum
 3017     AnalogVideo_None = 0
 3018     AnalogVideo_NTSC_M = &h1
 3019     AnalogVideo_NTSC_M_J = &h2
 3020     AnalogVideo_NTSC_433 = &h4
 3021     AnalogVideo_PAL_B = &h10
 3022     AnalogVideo_PAL_D = &h20
 3023     AnalogVideo_PAL_G = &h40
 3024     AnalogVideo_PAL_H = &h80
 3025     AnalogVideo_PAL_I = &h100
 3026     AnalogVideo_PAL_M = &h200
 3027     AnalogVideo_PAL_N = &h400
 3028     AnalogVideo_PAL_60 = &h800
 3029     AnalogVideo_SECAM_B = &h1000
 3030     AnalogVideo_SECAM_D = &h2000
 3031     AnalogVideo_SECAM_G = &h4000
 3032     AnalogVideo_SECAM_H = &h8000
 3033     AnalogVideo_SECAM_K = &h10000
 3034     AnalogVideo_SECAM_K1 = &h20000
 3035     AnalogVideo_SECAM_L = &h40000
 3036     AnalogVideo_SECAM_L1 = &h80000
 3037     AnalogVideo_PAL_N_COMBO = &h100000
 3038     AnalogVideoMask_MCE_NTSC = (((((AnalogVideo_NTSC_M or AnalogVideo_NTSC_M_J) or AnalogVideo_NTSC_433) or AnalogVideo_PAL_M) or AnalogVideo_PAL_N) or AnalogVideo_PAL_60) or AnalogVideo_PAL_N_COMBO
 3039     AnalogVideoMask_MCE_PAL = (((AnalogVideo_PAL_B or AnalogVideo_PAL_D) or AnalogVideo_PAL_G) or AnalogVideo_PAL_H) or AnalogVideo_PAL_I
 3040     AnalogVideoMask_MCE_SECAM = ((((((AnalogVideo_SECAM_B or AnalogVideo_SECAM_D) or AnalogVideo_SECAM_G) or AnalogVideo_SECAM_H) or AnalogVideo_SECAM_K) or AnalogVideo_SECAM_K1) or AnalogVideo_SECAM_L) or AnalogVideo_SECAM_L1
 3041 end enum
 3042 
 3043 type AnalogVideoStandard as tagAnalogVideoStandard
 3044 
 3045 type tagTunerInputType as long
 3046 enum
 3047     TunerInputCable = 0
 3048     TunerInputAntenna = TunerInputCable + 1
 3049 end enum
 3050 
 3051 type TunerInputType as tagTunerInputType
 3052 const AnalogVideo_NTSC_Mask = &h00000007
 3053 const AnalogVideo_PAL_Mask = &h00100FF0
 3054 <