zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

vidcap.h (72655B) - Raw


      1 /*** Autogenerated by WIDL 10.4 from include/vidcap.idl - Do not edit ***/
      2 
      3 #ifdef _WIN32
      4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      6 #endif
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 #endif
     10 
     11 #ifndef COM_NO_WINDOWS_H
     12 #include <windows.h>
     13 #include <ole2.h>
     14 #endif
     15 
     16 #ifndef __vidcap_h__
     17 #define __vidcap_h__
     18 
     19 /* Forward declarations */
     20 
     21 #ifndef __IKsTopologyInfo_FWD_DEFINED__
     22 #define __IKsTopologyInfo_FWD_DEFINED__
     23 typedef interface IKsTopologyInfo IKsTopologyInfo;
     24 #ifdef __cplusplus
     25 interface IKsTopologyInfo;
     26 #endif /* __cplusplus */
     27 #endif
     28 
     29 #ifndef __ISelector_FWD_DEFINED__
     30 #define __ISelector_FWD_DEFINED__
     31 typedef interface ISelector ISelector;
     32 #ifdef __cplusplus
     33 interface ISelector;
     34 #endif /* __cplusplus */
     35 #endif
     36 
     37 #ifndef __ICameraControl_FWD_DEFINED__
     38 #define __ICameraControl_FWD_DEFINED__
     39 typedef interface ICameraControl ICameraControl;
     40 #ifdef __cplusplus
     41 interface ICameraControl;
     42 #endif /* __cplusplus */
     43 #endif
     44 
     45 #ifndef __IVideoProcAmp_FWD_DEFINED__
     46 #define __IVideoProcAmp_FWD_DEFINED__
     47 typedef interface IVideoProcAmp IVideoProcAmp;
     48 #ifdef __cplusplus
     49 interface IVideoProcAmp;
     50 #endif /* __cplusplus */
     51 #endif
     52 
     53 #ifndef __IKsNodeControl_FWD_DEFINED__
     54 #define __IKsNodeControl_FWD_DEFINED__
     55 typedef interface IKsNodeControl IKsNodeControl;
     56 #ifdef __cplusplus
     57 interface IKsNodeControl;
     58 #endif /* __cplusplus */
     59 #endif
     60 
     61 /* Headers for imported files */
     62 
     63 #include <unknwn.h>
     64 #include <strmif.h>
     65 
     66 #ifdef __cplusplus
     67 extern "C" {
     68 #endif
     69 
     70 #include <winapifamily.h>
     71 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     72 #include "ks.h"
     73 #ifndef _KS_
     74 typedef struct __WIDL_vidcap_generated_name_00000016 {
     75     ULONG FromNode;
     76     ULONG FromNodePin;
     77     ULONG ToNode;
     78     ULONG ToNodePin;
     79 } KSTOPOLOGY_CONNECTION;
     80 typedef struct __WIDL_vidcap_generated_name_00000016 *PKSTOPOLOGY_CONNECTION;
     81 #endif
     82 /*****************************************************************************
     83  * IKsTopologyInfo interface
     84  */
     85 #ifndef __IKsTopologyInfo_INTERFACE_DEFINED__
     86 #define __IKsTopologyInfo_INTERFACE_DEFINED__
     87 
     88 DEFINE_GUID(IID_IKsTopologyInfo, 0x720d4ac0, 0x7533, 0x11d0, 0xa5,0xd6, 0x28,0xdb,0x04,0xc1,0x00,0x00);
     89 #if defined(__cplusplus) && !defined(CINTERFACE)
     90 MIDL_INTERFACE("720d4ac0-7533-11d0-a5d6-28db04c10000")
     91 IKsTopologyInfo : public IUnknown
     92 {
     93     virtual HRESULT STDMETHODCALLTYPE get_NumCategories(
     94         DWORD *pdwNumCategories) = 0;
     95 
     96     virtual HRESULT STDMETHODCALLTYPE get_Category(
     97         DWORD dwIndex,
     98         GUID *pCategory) = 0;
     99 
    100     virtual HRESULT STDMETHODCALLTYPE get_NumConnections(
    101         DWORD *pdwNumConnections) = 0;
    102 
    103     virtual HRESULT STDMETHODCALLTYPE get_ConnectionInfo(
    104         DWORD dwIndex,
    105         KSTOPOLOGY_CONNECTION *pConnectionInfo) = 0;
    106 
    107     virtual HRESULT STDMETHODCALLTYPE get_NodeName(
    108         DWORD dwNodeId,
    109         WCHAR *pwchNodeName,
    110         DWORD dwBufSize,
    111         DWORD *pdwNameLen) = 0;
    112 
    113     virtual HRESULT STDMETHODCALLTYPE get_NumNodes(
    114         DWORD *pdwNumNodes) = 0;
    115 
    116     virtual HRESULT STDMETHODCALLTYPE get_NodeType(
    117         DWORD dwNodeId,
    118         GUID *pNodeType) = 0;
    119 
    120     virtual HRESULT STDMETHODCALLTYPE CreateNodeInstance(
    121         DWORD dwNodeId,
    122         REFIID iid,
    123         void **ppvObject) = 0;
    124 
    125 };
    126 #ifdef __CRT_UUID_DECL
    127 __CRT_UUID_DECL(IKsTopologyInfo, 0x720d4ac0, 0x7533, 0x11d0, 0xa5,0xd6, 0x28,0xdb,0x04,0xc1,0x00,0x00)
    128 #endif
    129 #else
    130 typedef struct IKsTopologyInfoVtbl {
    131     BEGIN_INTERFACE
    132 
    133     /*** IUnknown methods ***/
    134     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    135         IKsTopologyInfo *This,
    136         REFIID riid,
    137         void **ppvObject);
    138 
    139     ULONG (STDMETHODCALLTYPE *AddRef)(
    140         IKsTopologyInfo *This);
    141 
    142     ULONG (STDMETHODCALLTYPE *Release)(
    143         IKsTopologyInfo *This);
    144 
    145     /*** IKsTopologyInfo methods ***/
    146     HRESULT (STDMETHODCALLTYPE *get_NumCategories)(
    147         IKsTopologyInfo *This,
    148         DWORD *pdwNumCategories);
    149 
    150     HRESULT (STDMETHODCALLTYPE *get_Category)(
    151         IKsTopologyInfo *This,
    152         DWORD dwIndex,
    153         GUID *pCategory);
    154 
    155     HRESULT (STDMETHODCALLTYPE *get_NumConnections)(
    156         IKsTopologyInfo *This,
    157         DWORD *pdwNumConnections);
    158 
    159     HRESULT (STDMETHODCALLTYPE *get_ConnectionInfo)(
    160         IKsTopologyInfo *This,
    161         DWORD dwIndex,
    162         KSTOPOLOGY_CONNECTION *pConnectionInfo);
    163 
    164     HRESULT (STDMETHODCALLTYPE *get_NodeName)(
    165         IKsTopologyInfo *This,
    166         DWORD dwNodeId,
    167         WCHAR *pwchNodeName,
    168         DWORD dwBufSize,
    169         DWORD *pdwNameLen);
    170 
    171     HRESULT (STDMETHODCALLTYPE *get_NumNodes)(
    172         IKsTopologyInfo *This,
    173         DWORD *pdwNumNodes);
    174 
    175     HRESULT (STDMETHODCALLTYPE *get_NodeType)(
    176         IKsTopologyInfo *This,
    177         DWORD dwNodeId,
    178         GUID *pNodeType);
    179 
    180     HRESULT (STDMETHODCALLTYPE *CreateNodeInstance)(
    181         IKsTopologyInfo *This,
    182         DWORD dwNodeId,
    183         REFIID iid,
    184         void **ppvObject);
    185 
    186     END_INTERFACE
    187 } IKsTopologyInfoVtbl;
    188 
    189 interface IKsTopologyInfo {
    190     CONST_VTBL IKsTopologyInfoVtbl* lpVtbl;
    191 };
    192 
    193 #ifdef COBJMACROS
    194 #ifndef WIDL_C_INLINE_WRAPPERS
    195 /*** IUnknown methods ***/
    196 #define IKsTopologyInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    197 #define IKsTopologyInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
    198 #define IKsTopologyInfo_Release(This) (This)->lpVtbl->Release(This)
    199 /*** IKsTopologyInfo methods ***/
    200 #define IKsTopologyInfo_get_NumCategories(This,pdwNumCategories) (This)->lpVtbl->get_NumCategories(This,pdwNumCategories)
    201 #define IKsTopologyInfo_get_Category(This,dwIndex,pCategory) (This)->lpVtbl->get_Category(This,dwIndex,pCategory)
    202 #define IKsTopologyInfo_get_NumConnections(This,pdwNumConnections) (This)->lpVtbl->get_NumConnections(This,pdwNumConnections)
    203 #define IKsTopologyInfo_get_ConnectionInfo(This,dwIndex,pConnectionInfo) (This)->lpVtbl->get_ConnectionInfo(This,dwIndex,pConnectionInfo)
    204 #define IKsTopologyInfo_get_NodeName(This,dwNodeId,pwchNodeName,dwBufSize,pdwNameLen) (This)->lpVtbl->get_NodeName(This,dwNodeId,pwchNodeName,dwBufSize,pdwNameLen)
    205 #define IKsTopologyInfo_get_NumNodes(This,pdwNumNodes) (This)->lpVtbl->get_NumNodes(This,pdwNumNodes)
    206 #define IKsTopologyInfo_get_NodeType(This,dwNodeId,pNodeType) (This)->lpVtbl->get_NodeType(This,dwNodeId,pNodeType)
    207 #define IKsTopologyInfo_CreateNodeInstance(This,dwNodeId,iid,ppvObject) (This)->lpVtbl->CreateNodeInstance(This,dwNodeId,iid,ppvObject)
    208 #else
    209 /*** IUnknown methods ***/
    210 static inline HRESULT IKsTopologyInfo_QueryInterface(IKsTopologyInfo* This,REFIID riid,void **ppvObject) {
    211     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    212 }
    213 static inline ULONG IKsTopologyInfo_AddRef(IKsTopologyInfo* This) {
    214     return This->lpVtbl->AddRef(This);
    215 }
    216 static inline ULONG IKsTopologyInfo_Release(IKsTopologyInfo* This) {
    217     return This->lpVtbl->Release(This);
    218 }
    219 /*** IKsTopologyInfo methods ***/
    220 static inline HRESULT IKsTopologyInfo_get_NumCategories(IKsTopologyInfo* This,DWORD *pdwNumCategories) {
    221     return This->lpVtbl->get_NumCategories(This,pdwNumCategories);
    222 }
    223 static inline HRESULT IKsTopologyInfo_get_Category(IKsTopologyInfo* This,DWORD dwIndex,GUID *pCategory) {
    224     return This->lpVtbl->get_Category(This,dwIndex,pCategory);
    225 }
    226 static inline HRESULT IKsTopologyInfo_get_NumConnections(IKsTopologyInfo* This,DWORD *pdwNumConnections) {
    227     return This->lpVtbl->get_NumConnections(This,pdwNumConnections);
    228 }
    229 static inline HRESULT IKsTopologyInfo_get_ConnectionInfo(IKsTopologyInfo* This,DWORD dwIndex,KSTOPOLOGY_CONNECTION *pConnectionInfo) {
    230     return This->lpVtbl->get_ConnectionInfo(This,dwIndex,pConnectionInfo);
    231 }
    232 static inline HRESULT IKsTopologyInfo_get_NodeName(IKsTopologyInfo* This,DWORD dwNodeId,WCHAR *pwchNodeName,DWORD dwBufSize,DWORD *pdwNameLen) {
    233     return This->lpVtbl->get_NodeName(This,dwNodeId,pwchNodeName,dwBufSize,pdwNameLen);
    234 }
    235 static inline HRESULT IKsTopologyInfo_get_NumNodes(IKsTopologyInfo* This,DWORD *pdwNumNodes) {
    236     return This->lpVtbl->get_NumNodes(This,pdwNumNodes);
    237 }
    238 static inline HRESULT IKsTopologyInfo_get_NodeType(IKsTopologyInfo* This,DWORD dwNodeId,GUID *pNodeType) {
    239     return This->lpVtbl->get_NodeType(This,dwNodeId,pNodeType);
    240 }
    241 static inline HRESULT IKsTopologyInfo_CreateNodeInstance(IKsTopologyInfo* This,DWORD dwNodeId,REFIID iid,void **ppvObject) {
    242     return This->lpVtbl->CreateNodeInstance(This,dwNodeId,iid,ppvObject);
    243 }
    244 #endif
    245 #endif
    246 
    247 #endif
    248 
    249 
    250 #endif  /* __IKsTopologyInfo_INTERFACE_DEFINED__ */
    251 
    252 /*****************************************************************************
    253  * ISelector interface
    254  */
    255 #ifndef __ISelector_INTERFACE_DEFINED__
    256 #define __ISelector_INTERFACE_DEFINED__
    257 
    258 DEFINE_GUID(IID_ISelector, 0x1abdaeca, 0x68b6, 0x4f83, 0x93,0x71, 0xb4,0x13,0x90,0x7c,0x7b,0x9f);
    259 #if defined(__cplusplus) && !defined(CINTERFACE)
    260 MIDL_INTERFACE("1abdaeca-68b6-4f83-9371-b413907c7b9f")
    261 ISelector : public IUnknown
    262 {
    263     virtual HRESULT STDMETHODCALLTYPE get_NumSources(
    264         DWORD *pdwNumSources) = 0;
    265 
    266     virtual HRESULT STDMETHODCALLTYPE get_SourceNodeId(
    267         DWORD *pdwPinId) = 0;
    268 
    269     virtual HRESULT STDMETHODCALLTYPE put_SourceNodeId(
    270         DWORD dwPinId) = 0;
    271 
    272 };
    273 #ifdef __CRT_UUID_DECL
    274 __CRT_UUID_DECL(ISelector, 0x1abdaeca, 0x68b6, 0x4f83, 0x93,0x71, 0xb4,0x13,0x90,0x7c,0x7b,0x9f)
    275 #endif
    276 #else
    277 typedef struct ISelectorVtbl {
    278     BEGIN_INTERFACE
    279 
    280     /*** IUnknown methods ***/
    281     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    282         ISelector *This,
    283         REFIID riid,
    284         void **ppvObject);
    285 
    286     ULONG (STDMETHODCALLTYPE *AddRef)(
    287         ISelector *This);
    288 
    289     ULONG (STDMETHODCALLTYPE *Release)(
    290         ISelector *This);
    291 
    292     /*** ISelector methods ***/
    293     HRESULT (STDMETHODCALLTYPE *get_NumSources)(
    294         ISelector *This,
    295         DWORD *pdwNumSources);
    296 
    297     HRESULT (STDMETHODCALLTYPE *get_SourceNodeId)(
    298         ISelector *This,
    299         DWORD *pdwPinId);
    300 
    301     HRESULT (STDMETHODCALLTYPE *put_SourceNodeId)(
    302         ISelector *This,
    303         DWORD dwPinId);
    304 
    305     END_INTERFACE
    306 } ISelectorVtbl;
    307 
    308 interface ISelector {
    309     CONST_VTBL ISelectorVtbl* lpVtbl;
    310 };
    311 
    312 #ifdef COBJMACROS
    313 #ifndef WIDL_C_INLINE_WRAPPERS
    314 /*** IUnknown methods ***/
    315 #define ISelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    316 #define ISelector_AddRef(This) (This)->lpVtbl->AddRef(This)
    317 #define ISelector_Release(This) (This)->lpVtbl->Release(This)
    318 /*** ISelector methods ***/
    319 #define ISelector_get_NumSources(This,pdwNumSources) (This)->lpVtbl->get_NumSources(This,pdwNumSources)
    320 #define ISelector_get_SourceNodeId(This,pdwPinId) (This)->lpVtbl->get_SourceNodeId(This,pdwPinId)
    321 #define ISelector_put_SourceNodeId(This,dwPinId) (This)->lpVtbl->put_SourceNodeId(This,dwPinId)
    322 #else
    323 /*** IUnknown methods ***/
    324 static inline HRESULT ISelector_QueryInterface(ISelector* This,REFIID riid,void **ppvObject) {
    325     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    326 }
    327 static inline ULONG ISelector_AddRef(ISelector* This) {
    328     return This->lpVtbl->AddRef(This);
    329 }
    330 static inline ULONG ISelector_Release(ISelector* This) {
    331     return This->lpVtbl->Release(This);
    332 }
    333 /*** ISelector methods ***/
    334 static inline HRESULT ISelector_get_NumSources(ISelector* This,DWORD *pdwNumSources) {
    335     return This->lpVtbl->get_NumSources(This,pdwNumSources);
    336 }
    337 static inline HRESULT ISelector_get_SourceNodeId(ISelector* This,DWORD *pdwPinId) {
    338     return This->lpVtbl->get_SourceNodeId(This,pdwPinId);
    339 }
    340 static inline HRESULT ISelector_put_SourceNodeId(ISelector* This,DWORD dwPinId) {
    341     return This->lpVtbl->put_SourceNodeId(This,dwPinId);
    342 }
    343 #endif
    344 #endif
    345 
    346 #endif
    347 
    348 
    349 #endif  /* __ISelector_INTERFACE_DEFINED__ */
    350 
    351 /*****************************************************************************
    352  * ICameraControl interface
    353  */
    354 #ifndef __ICameraControl_INTERFACE_DEFINED__
    355 #define __ICameraControl_INTERFACE_DEFINED__
    356 
    357 DEFINE_GUID(IID_ICameraControl, 0x2ba1785d, 0x4d1b, 0x44ef, 0x85,0xe8, 0xc7,0xf1,0xd3,0xf2,0x01,0x84);
    358 #if defined(__cplusplus) && !defined(CINTERFACE)
    359 MIDL_INTERFACE("2ba1785d-4d1b-44ef-85e8-c7f1d3f20184")
    360 ICameraControl : public IUnknown
    361 {
    362     virtual HRESULT STDMETHODCALLTYPE get_Exposure(
    363         LONG *pValue,
    364         LONG *pFlags) = 0;
    365 
    366     virtual HRESULT STDMETHODCALLTYPE put_Exposure(
    367         LONG Value,
    368         LONG Flags) = 0;
    369 
    370     virtual HRESULT STDMETHODCALLTYPE getRange_Exposure(
    371         LONG *pMin,
    372         LONG *pMax,
    373         LONG *pSteppingDelta,
    374         LONG *pDefault,
    375         LONG *pCapsFlag) = 0;
    376 
    377     virtual HRESULT STDMETHODCALLTYPE get_Focus(
    378         LONG *pValue,
    379         LONG *pFlags) = 0;
    380 
    381     virtual HRESULT STDMETHODCALLTYPE put_Focus(
    382         LONG Value,
    383         LONG Flags) = 0;
    384 
    385     virtual HRESULT STDMETHODCALLTYPE getRange_Focus(
    386         LONG *pMin,
    387         LONG *pMax,
    388         LONG *pSteppingDelta,
    389         LONG *pDefault,
    390         LONG *pCapsFlag) = 0;
    391 
    392     virtual HRESULT STDMETHODCALLTYPE get_Iris(
    393         LONG *pValue,
    394         LONG *pFlags) = 0;
    395 
    396     virtual HRESULT STDMETHODCALLTYPE put_Iris(
    397         LONG Value,
    398         LONG Flags) = 0;
    399 
    400     virtual HRESULT STDMETHODCALLTYPE getRange_Iris(
    401         LONG *pMin,
    402         LONG *pMax,
    403         LONG *pSteppingDelta,
    404         LONG *pDefault,
    405         LONG *pCapsFlag) = 0;
    406 
    407     virtual HRESULT STDMETHODCALLTYPE get_Zoom(
    408         LONG *pValue,
    409         LONG *pFlags) = 0;
    410 
    411     virtual HRESULT STDMETHODCALLTYPE put_Zoom(
    412         LONG Value,
    413         LONG Flags) = 0;
    414 
    415     virtual HRESULT STDMETHODCALLTYPE getRange_Zoom(
    416         LONG *pMin,
    417         LONG *pMax,
    418         LONG *pSteppingDelta,
    419         LONG *pDefault,
    420         LONG *pCapsFlag) = 0;
    421 
    422     virtual HRESULT STDMETHODCALLTYPE get_FocalLengths(
    423         LONG *plOcularFocalLength,
    424         LONG *plObjectiveFocalLengthMin,
    425         LONG *plObjectiveFocalLengthMax) = 0;
    426 
    427     virtual HRESULT STDMETHODCALLTYPE get_Pan(
    428         LONG *pValue,
    429         LONG *pFlags) = 0;
    430 
    431     virtual HRESULT STDMETHODCALLTYPE put_Pan(
    432         LONG Value,
    433         LONG Flags) = 0;
    434 
    435     virtual HRESULT STDMETHODCALLTYPE getRange_Pan(
    436         LONG *pMin,
    437         LONG *pMax,
    438         LONG *pSteppingDelta,
    439         LONG *pDefault,
    440         LONG *pCapsFlag) = 0;
    441 
    442     virtual HRESULT STDMETHODCALLTYPE get_Tilt(
    443         LONG *pValue,
    444         LONG *pFlags) = 0;
    445 
    446     virtual HRESULT STDMETHODCALLTYPE put_Tilt(
    447         LONG Value,
    448         LONG Flags) = 0;
    449 
    450     virtual HRESULT STDMETHODCALLTYPE getRange_Tilt(
    451         LONG *pMin,
    452         LONG *pMax,
    453         LONG *pSteppingDelta,
    454         LONG *pDefault,
    455         LONG *pCapsFlag) = 0;
    456 
    457     virtual HRESULT STDMETHODCALLTYPE get_PanTilt(
    458         LONG *pPanValue,
    459         LONG *pTiltValue,
    460         LONG *pFlags) = 0;
    461 
    462     virtual HRESULT STDMETHODCALLTYPE put_PanTilt(
    463         LONG PanValue,
    464         LONG TiltValue,
    465         LONG Flags) = 0;
    466 
    467     virtual HRESULT STDMETHODCALLTYPE get_Roll(
    468         LONG *pValue,
    469         LONG *pFlags) = 0;
    470 
    471     virtual HRESULT STDMETHODCALLTYPE put_Roll(
    472         LONG Value,
    473         LONG Flags) = 0;
    474 
    475     virtual HRESULT STDMETHODCALLTYPE getRange_Roll(
    476         LONG *pMin,
    477         LONG *pMax,
    478         LONG *pSteppingDelta,
    479         LONG *pDefault,
    480         LONG *pCapsFlag) = 0;
    481 
    482     virtual HRESULT STDMETHODCALLTYPE get_ExposureRelative(
    483         LONG *pValue,
    484         LONG *pFlags) = 0;
    485 
    486     virtual HRESULT STDMETHODCALLTYPE put_ExposureRelative(
    487         LONG Value,
    488         LONG Flags) = 0;
    489 
    490     virtual HRESULT STDMETHODCALLTYPE getRange_ExposureRelative(
    491         LONG *pMin,
    492         LONG *pMax,
    493         LONG *pSteppingDelta,
    494         LONG *pDefault,
    495         LONG *pCapsFlag) = 0;
    496 
    497     virtual HRESULT STDMETHODCALLTYPE get_FocusRelative(
    498         LONG *pValue,
    499         LONG *pFlags) = 0;
    500 
    501     virtual HRESULT STDMETHODCALLTYPE put_FocusRelative(
    502         LONG Value,
    503         LONG Flags) = 0;
    504 
    505     virtual HRESULT STDMETHODCALLTYPE getRange_FocusRelative(
    506         LONG *pMin,
    507         LONG *pMax,
    508         LONG *pSteppingDelta,
    509         LONG *pDefault,
    510         LONG *pCapsFlag) = 0;
    511 
    512     virtual HRESULT STDMETHODCALLTYPE get_IrisRelative(
    513         LONG *pValue,
    514         LONG *pFlags) = 0;
    515 
    516     virtual HRESULT STDMETHODCALLTYPE put_IrisRelative(
    517         LONG Value,
    518         LONG Flags) = 0;
    519 
    520     virtual HRESULT STDMETHODCALLTYPE getRange_IrisRelative(
    521         LONG *pMin,
    522         LONG *pMax,
    523         LONG *pSteppingDelta,
    524         LONG *pDefault,
    525         LONG *pCapsFlag) = 0;
    526 
    527     virtual HRESULT STDMETHODCALLTYPE get_ZoomRelative(
    528         LONG *pValue,
    529         LONG *pFlags) = 0;
    530 
    531     virtual HRESULT STDMETHODCALLTYPE put_ZoomRelative(
    532         LONG Value,
    533         LONG Flags) = 0;
    534 
    535     virtual HRESULT STDMETHODCALLTYPE getRange_ZoomRelative(
    536         LONG *pMin,
    537         LONG *pMax,
    538         LONG *pSteppingDelta,
    539         LONG *pDefault,
    540         LONG *pCapsFlag) = 0;
    541 
    542     virtual HRESULT STDMETHODCALLTYPE get_PanRelative(
    543         LONG *pValue,
    544         LONG *pFlags) = 0;
    545 
    546     virtual HRESULT STDMETHODCALLTYPE put_PanRelative(
    547         LONG Value,
    548         LONG Flags) = 0;
    549 
    550     virtual HRESULT STDMETHODCALLTYPE get_TiltRelative(
    551         LONG *pValue,
    552         LONG *pFlags) = 0;
    553 
    554     virtual HRESULT STDMETHODCALLTYPE put_TiltRelative(
    555         LONG Value,
    556         LONG Flags) = 0;
    557 
    558     virtual HRESULT STDMETHODCALLTYPE getRange_TiltRelative(
    559         LONG *pMin,
    560         LONG *pMax,
    561         LONG *pSteppingDelta,
    562         LONG *pDefault,
    563         LONG *pCapsFlag) = 0;
    564 
    565     virtual HRESULT STDMETHODCALLTYPE get_PanTiltRelative(
    566         LONG *pPanValue,
    567         LONG *pTiltValue,
    568         LONG *pFlags) = 0;
    569 
    570     virtual HRESULT STDMETHODCALLTYPE put_PanTiltRelative(
    571         LONG PanValue,
    572         LONG TiltValue,
    573         LONG Flags) = 0;
    574 
    575     virtual HRESULT STDMETHODCALLTYPE getRange_PanRelative(
    576         LONG *pMin,
    577         LONG *pMax,
    578         LONG *pSteppingDelta,
    579         LONG *pDefault,
    580         LONG *pCapsFlag) = 0;
    581 
    582     virtual HRESULT STDMETHODCALLTYPE get_RollRelative(
    583         LONG *pValue,
    584         LONG *pFlags) = 0;
    585 
    586     virtual HRESULT STDMETHODCALLTYPE put_RollRelative(
    587         LONG Value,
    588         LONG Flags) = 0;
    589 
    590     virtual HRESULT STDMETHODCALLTYPE getRange_RollRelative(
    591         LONG *pMin,
    592         LONG *pMax,
    593         LONG *pSteppingDelta,
    594         LONG *pDefault,
    595         LONG *pCapsFlag) = 0;
    596 
    597     virtual HRESULT STDMETHODCALLTYPE get_ScanMode(
    598         LONG *pValue,
    599         LONG *pFlags) = 0;
    600 
    601     virtual HRESULT STDMETHODCALLTYPE put_ScanMode(
    602         LONG Value,
    603         LONG Flags) = 0;
    604 
    605     virtual HRESULT STDMETHODCALLTYPE get_PrivacyMode(
    606         LONG *pValue,
    607         LONG *pFlags) = 0;
    608 
    609     virtual HRESULT STDMETHODCALLTYPE put_PrivacyMode(
    610         LONG Value,
    611         LONG Flags) = 0;
    612 
    613 };
    614 #ifdef __CRT_UUID_DECL
    615 __CRT_UUID_DECL(ICameraControl, 0x2ba1785d, 0x4d1b, 0x44ef, 0x85,0xe8, 0xc7,0xf1,0xd3,0xf2,0x01,0x84)
    616 #endif
    617 #else
    618 typedef struct ICameraControlVtbl {
    619     BEGIN_INTERFACE
    620 
    621     /*** IUnknown methods ***/
    622     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    623         ICameraControl *This,
    624         REFIID riid,
    625         void **ppvObject);
    626 
    627     ULONG (STDMETHODCALLTYPE *AddRef)(
    628         ICameraControl *This);
    629 
    630     ULONG (STDMETHODCALLTYPE *Release)(
    631         ICameraControl *This);
    632 
    633     /*** ICameraControl methods ***/
    634     HRESULT (STDMETHODCALLTYPE *get_Exposure)(
    635         ICameraControl *This,
    636         LONG *pValue,
    637         LONG *pFlags);
    638 
    639     HRESULT (STDMETHODCALLTYPE *put_Exposure)(
    640         ICameraControl *This,
    641         LONG Value,
    642         LONG Flags);
    643 
    644     HRESULT (STDMETHODCALLTYPE *getRange_Exposure)(
    645         ICameraControl *This,
    646         LONG *pMin,
    647         LONG *pMax,
    648         LONG *pSteppingDelta,
    649         LONG *pDefault,
    650         LONG *pCapsFlag);
    651 
    652     HRESULT (STDMETHODCALLTYPE *get_Focus)(
    653         ICameraControl *This,
    654         LONG *pValue,
    655         LONG *pFlags);
    656 
    657     HRESULT (STDMETHODCALLTYPE *put_Focus)(
    658         ICameraControl *This,
    659         LONG Value,
    660         LONG Flags);
    661 
    662     HRESULT (STDMETHODCALLTYPE *getRange_Focus)(
    663         ICameraControl *This,
    664         LONG *pMin,
    665         LONG *pMax,
    666         LONG *pSteppingDelta,
    667         LONG *pDefault,
    668         LONG *pCapsFlag);
    669 
    670     HRESULT (STDMETHODCALLTYPE *get_Iris)(
    671         ICameraControl *This,
    672         LONG *pValue,
    673         LONG *pFlags);
    674 
    675     HRESULT (STDMETHODCALLTYPE *put_Iris)(
    676         ICameraControl *This,
    677         LONG Value,
    678         LONG Flags);
    679 
    680     HRESULT (STDMETHODCALLTYPE *getRange_Iris)(
    681         ICameraControl *This,
    682         LONG *pMin,
    683         LONG *pMax,
    684         LONG *pSteppingDelta,
    685         LONG *pDefault,
    686         LONG *pCapsFlag);
    687 
    688     HRESULT (STDMETHODCALLTYPE *get_Zoom)(
    689         ICameraControl *This,
    690         LONG *pValue,
    691         LONG *pFlags);
    692 
    693     HRESULT (STDMETHODCALLTYPE *put_Zoom)(
    694         ICameraControl *This,
    695         LONG Value,
    696         LONG Flags);
    697 
    698     HRESULT (STDMETHODCALLTYPE *getRange_Zoom)(
    699         ICameraControl *This,
    700         LONG *pMin,
    701         LONG *pMax,
    702         LONG *pSteppingDelta,
    703         LONG *pDefault,
    704         LONG *pCapsFlag);
    705 
    706     HRESULT (STDMETHODCALLTYPE *get_FocalLengths)(
    707         ICameraControl *This,
    708         LONG *plOcularFocalLength,
    709         LONG *plObjectiveFocalLengthMin,
    710         LONG *plObjectiveFocalLengthMax);
    711 
    712     HRESULT (STDMETHODCALLTYPE *get_Pan)(
    713         ICameraControl *This,
    714         LONG *pValue,
    715         LONG *pFlags);
    716 
    717     HRESULT (STDMETHODCALLTYPE *put_Pan)(
    718         ICameraControl *This,
    719         LONG Value,
    720         LONG Flags);
    721 
    722     HRESULT (STDMETHODCALLTYPE *getRange_Pan)(
    723         ICameraControl *This,
    724         LONG *pMin,
    725         LONG *pMax,
    726         LONG *pSteppingDelta,
    727         LONG *pDefault,
    728         LONG *pCapsFlag);
    729 
    730     HRESULT (STDMETHODCALLTYPE *get_Tilt)(
    731         ICameraControl *This,
    732         LONG *pValue,
    733         LONG *pFlags);
    734 
    735     HRESULT (STDMETHODCALLTYPE *put_Tilt)(
    736         ICameraControl *This,
    737         LONG Value,
    738         LONG Flags);
    739 
    740     HRESULT (STDMETHODCALLTYPE *getRange_Tilt)(
    741         ICameraControl *This,
    742         LONG *pMin,
    743         LONG *pMax,
    744         LONG *pSteppingDelta,
    745         LONG *pDefault,
    746         LONG *pCapsFlag);
    747 
    748     HRESULT (STDMETHODCALLTYPE *get_PanTilt)(
    749         ICameraControl *This,
    750         LONG *pPanValue,
    751         LONG *pTiltValue,
    752         LONG *pFlags);
    753 
    754     HRESULT (STDMETHODCALLTYPE *put_PanTilt)(
    755         ICameraControl *This,
    756         LONG PanValue,
    757         LONG TiltValue,
    758         LONG Flags);
    759 
    760     HRESULT (STDMETHODCALLTYPE *get_Roll)(
    761         ICameraControl *This,
    762         LONG *pValue,
    763         LONG *pFlags);
    764 
    765     HRESULT (STDMETHODCALLTYPE *put_Roll)(
    766         ICameraControl *This,
    767         LONG Value,
    768         LONG Flags);
    769 
    770     HRESULT (STDMETHODCALLTYPE *getRange_Roll)(
    771         ICameraControl *This,
    772         LONG *pMin,
    773         LONG *pMax,
    774         LONG *pSteppingDelta,
    775         LONG *pDefault,
    776         LONG *pCapsFlag);
    777 
    778     HRESULT (STDMETHODCALLTYPE *get_ExposureRelative)(
    779         ICameraControl *This,
    780         LONG *pValue,
    781         LONG *pFlags);
    782 
    783     HRESULT (STDMETHODCALLTYPE *put_ExposureRelative)(
    784         ICameraControl *This,
    785         LONG Value,
    786         LONG Flags);
    787 
    788     HRESULT (STDMETHODCALLTYPE *getRange_ExposureRelative)(
    789         ICameraControl *This,
    790         LONG *pMin,
    791         LONG *pMax,
    792         LONG *pSteppingDelta,
    793         LONG *pDefault,
    794         LONG *pCapsFlag);
    795 
    796     HRESULT (STDMETHODCALLTYPE *get_FocusRelative)(
    797         ICameraControl *This,
    798         LONG *pValue,
    799         LONG *pFlags);
    800 
    801     HRESULT (STDMETHODCALLTYPE *put_FocusRelative)(
    802         ICameraControl *This,
    803         LONG Value,
    804         LONG Flags);
    805 
    806     HRESULT (STDMETHODCALLTYPE *getRange_FocusRelative)(
    807         ICameraControl *This,
    808         LONG *pMin,
    809         LONG *pMax,
    810         LONG *pSteppingDelta,
    811         LONG *pDefault,
    812         LONG *pCapsFlag);
    813 
    814     HRESULT (STDMETHODCALLTYPE *get_IrisRelative)(
    815         ICameraControl *This,
    816         LONG *pValue,
    817         LONG *pFlags);
    818 
    819     HRESULT (STDMETHODCALLTYPE *put_IrisRelative)(
    820         ICameraControl *This,
    821         LONG Value,
    822         LONG Flags);
    823 
    824     HRESULT (STDMETHODCALLTYPE *getRange_IrisRelative)(
    825         ICameraControl *This,
    826         LONG *pMin,
    827         LONG *pMax,
    828         LONG *pSteppingDelta,
    829         LONG *pDefault,
    830         LONG *pCapsFlag);
    831 
    832     HRESULT (STDMETHODCALLTYPE *get_ZoomRelative)(
    833         ICameraControl *This,
    834         LONG *pValue,
    835         LONG *pFlags);
    836 
    837     HRESULT (STDMETHODCALLTYPE *put_ZoomRelative)(
    838         ICameraControl *This,
    839         LONG Value,
    840         LONG Flags);
    841 
    842     HRESULT (STDMETHODCALLTYPE *getRange_ZoomRelative)(
    843         ICameraControl *This,
    844         LONG *pMin,
    845         LONG *pMax,
    846         LONG *pSteppingDelta,
    847         LONG *pDefault,
    848         LONG *pCapsFlag);
    849 
    850     HRESULT (STDMETHODCALLTYPE *get_PanRelative)(
    851         ICameraControl *This,
    852         LONG *pValue,
    853         LONG *pFlags);
    854 
    855     HRESULT (STDMETHODCALLTYPE *put_PanRelative)(
    856         ICameraControl *This,
    857         LONG Value,
    858         LONG Flags);
    859 
    860     HRESULT (STDMETHODCALLTYPE *get_TiltRelative)(
    861         ICameraControl *This,
    862         LONG *pValue,
    863         LONG *pFlags);
    864 
    865     HRESULT (STDMETHODCALLTYPE *put_TiltRelative)(
    866         ICameraControl *This,
    867         LONG Value,
    868         LONG Flags);
    869 
    870     HRESULT (STDMETHODCALLTYPE *getRange_TiltRelative)(
    871         ICameraControl *This,
    872         LONG *pMin,
    873         LONG *pMax,
    874         LONG *pSteppingDelta,
    875         LONG *pDefault,
    876         LONG *pCapsFlag);
    877 
    878     HRESULT (STDMETHODCALLTYPE *get_PanTiltRelative)(
    879         ICameraControl *This,
    880         LONG *pPanValue,
    881         LONG *pTiltValue,
    882         LONG *pFlags);
    883 
    884     HRESULT (STDMETHODCALLTYPE *put_PanTiltRelative)(
    885         ICameraControl *This,
    886         LONG PanValue,
    887         LONG TiltValue,
    888         LONG Flags);
    889 
    890     HRESULT (STDMETHODCALLTYPE *getRange_PanRelative)(
    891         ICameraControl *This,
    892         LONG *pMin,
    893         LONG *pMax,
    894         LONG *pSteppingDelta,
    895         LONG *pDefault,
    896         LONG *pCapsFlag);
    897 
    898     HRESULT (STDMETHODCALLTYPE *get_RollRelative)(
    899         ICameraControl *This,
    900         LONG *pValue,
    901         LONG *pFlags);
    902 
    903     HRESULT (STDMETHODCALLTYPE *put_RollRelative)(
    904         ICameraControl *This,
    905         LONG Value,
    906         LONG Flags);
    907 
    908     HRESULT (STDMETHODCALLTYPE *getRange_RollRelative)(
    909         ICameraControl *This,
    910         LONG *pMin,
    911         LONG *pMax,
    912         LONG *pSteppingDelta,
    913         LONG *pDefault,
    914         LONG *pCapsFlag);
    915 
    916     HRESULT (STDMETHODCALLTYPE *get_ScanMode)(
    917         ICameraControl *This,
    918         LONG *pValue,
    919         LONG *pFlags);
    920 
    921     HRESULT (STDMETHODCALLTYPE *put_ScanMode)(
    922         ICameraControl *This,
    923         LONG Value,
    924         LONG Flags);
    925 
    926     HRESULT (STDMETHODCALLTYPE *get_PrivacyMode)(
    927         ICameraControl *This,
    928         LONG *pValue,
    929         LONG *pFlags);
    930 
    931     HRESULT (STDMETHODCALLTYPE *put_PrivacyMode)(
    932         ICameraControl *This,
    933         LONG Value,
    934         LONG Flags);
    935 
    936     END_INTERFACE
    937 } ICameraControlVtbl;
    938 
    939 interface ICameraControl {
    940     CONST_VTBL ICameraControlVtbl* lpVtbl;
    941 };
    942 
    943 #ifdef COBJMACROS
    944 #ifndef WIDL_C_INLINE_WRAPPERS
    945 /*** IUnknown methods ***/
    946 #define ICameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    947 #define ICameraControl_AddRef(This) (This)->lpVtbl->AddRef(This)
    948 #define ICameraControl_Release(This) (This)->lpVtbl->Release(This)
    949 /*** ICameraControl methods ***/
    950 #define ICameraControl_get_Exposure(This,pValue,pFlags) (This)->lpVtbl->get_Exposure(This,pValue,pFlags)
    951 #define ICameraControl_put_Exposure(This,Value,Flags) (This)->lpVtbl->put_Exposure(This,Value,Flags)
    952 #define ICameraControl_getRange_Exposure(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Exposure(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    953 #define ICameraControl_get_Focus(This,pValue,pFlags) (This)->lpVtbl->get_Focus(This,pValue,pFlags)
    954 #define ICameraControl_put_Focus(This,Value,Flags) (This)->lpVtbl->put_Focus(This,Value,Flags)
    955 #define ICameraControl_getRange_Focus(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Focus(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    956 #define ICameraControl_get_Iris(This,pValue,pFlags) (This)->lpVtbl->get_Iris(This,pValue,pFlags)
    957 #define ICameraControl_put_Iris(This,Value,Flags) (This)->lpVtbl->put_Iris(This,Value,Flags)
    958 #define ICameraControl_getRange_Iris(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Iris(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    959 #define ICameraControl_get_Zoom(This,pValue,pFlags) (This)->lpVtbl->get_Zoom(This,pValue,pFlags)
    960 #define ICameraControl_put_Zoom(This,Value,Flags) (This)->lpVtbl->put_Zoom(This,Value,Flags)
    961 #define ICameraControl_getRange_Zoom(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Zoom(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    962 #define ICameraControl_get_FocalLengths(This,plOcularFocalLength,plObjectiveFocalLengthMin,plObjectiveFocalLengthMax) (This)->lpVtbl->get_FocalLengths(This,plOcularFocalLength,plObjectiveFocalLengthMin,plObjectiveFocalLengthMax)
    963 #define ICameraControl_get_Pan(This,pValue,pFlags) (This)->lpVtbl->get_Pan(This,pValue,pFlags)
    964 #define ICameraControl_put_Pan(This,Value,Flags) (This)->lpVtbl->put_Pan(This,Value,Flags)
    965 #define ICameraControl_getRange_Pan(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Pan(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    966 #define ICameraControl_get_Tilt(This,pValue,pFlags) (This)->lpVtbl->get_Tilt(This,pValue,pFlags)
    967 #define ICameraControl_put_Tilt(This,Value,Flags) (This)->lpVtbl->put_Tilt(This,Value,Flags)
    968 #define ICameraControl_getRange_Tilt(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Tilt(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    969 #define ICameraControl_get_PanTilt(This,pPanValue,pTiltValue,pFlags) (This)->lpVtbl->get_PanTilt(This,pPanValue,pTiltValue,pFlags)
    970 #define ICameraControl_put_PanTilt(This,PanValue,TiltValue,Flags) (This)->lpVtbl->put_PanTilt(This,PanValue,TiltValue,Flags)
    971 #define ICameraControl_get_Roll(This,pValue,pFlags) (This)->lpVtbl->get_Roll(This,pValue,pFlags)
    972 #define ICameraControl_put_Roll(This,Value,Flags) (This)->lpVtbl->put_Roll(This,Value,Flags)
    973 #define ICameraControl_getRange_Roll(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Roll(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    974 #define ICameraControl_get_ExposureRelative(This,pValue,pFlags) (This)->lpVtbl->get_ExposureRelative(This,pValue,pFlags)
    975 #define ICameraControl_put_ExposureRelative(This,Value,Flags) (This)->lpVtbl->put_ExposureRelative(This,Value,Flags)
    976 #define ICameraControl_getRange_ExposureRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_ExposureRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    977 #define ICameraControl_get_FocusRelative(This,pValue,pFlags) (This)->lpVtbl->get_FocusRelative(This,pValue,pFlags)
    978 #define ICameraControl_put_FocusRelative(This,Value,Flags) (This)->lpVtbl->put_FocusRelative(This,Value,Flags)
    979 #define ICameraControl_getRange_FocusRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_FocusRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    980 #define ICameraControl_get_IrisRelative(This,pValue,pFlags) (This)->lpVtbl->get_IrisRelative(This,pValue,pFlags)
    981 #define ICameraControl_put_IrisRelative(This,Value,Flags) (This)->lpVtbl->put_IrisRelative(This,Value,Flags)
    982 #define ICameraControl_getRange_IrisRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_IrisRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    983 #define ICameraControl_get_ZoomRelative(This,pValue,pFlags) (This)->lpVtbl->get_ZoomRelative(This,pValue,pFlags)
    984 #define ICameraControl_put_ZoomRelative(This,Value,Flags) (This)->lpVtbl->put_ZoomRelative(This,Value,Flags)
    985 #define ICameraControl_getRange_ZoomRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_ZoomRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    986 #define ICameraControl_get_PanRelative(This,pValue,pFlags) (This)->lpVtbl->get_PanRelative(This,pValue,pFlags)
    987 #define ICameraControl_put_PanRelative(This,Value,Flags) (This)->lpVtbl->put_PanRelative(This,Value,Flags)
    988 #define ICameraControl_get_TiltRelative(This,pValue,pFlags) (This)->lpVtbl->get_TiltRelative(This,pValue,pFlags)
    989 #define ICameraControl_put_TiltRelative(This,Value,Flags) (This)->lpVtbl->put_TiltRelative(This,Value,Flags)
    990 #define ICameraControl_getRange_TiltRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_TiltRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    991 #define ICameraControl_get_PanTiltRelative(This,pPanValue,pTiltValue,pFlags) (This)->lpVtbl->get_PanTiltRelative(This,pPanValue,pTiltValue,pFlags)
    992 #define ICameraControl_put_PanTiltRelative(This,PanValue,TiltValue,Flags) (This)->lpVtbl->put_PanTiltRelative(This,PanValue,TiltValue,Flags)
    993 #define ICameraControl_getRange_PanRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_PanRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    994 #define ICameraControl_get_RollRelative(This,pValue,pFlags) (This)->lpVtbl->get_RollRelative(This,pValue,pFlags)
    995 #define ICameraControl_put_RollRelative(This,Value,Flags) (This)->lpVtbl->put_RollRelative(This,Value,Flags)
    996 #define ICameraControl_getRange_RollRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_RollRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
    997 #define ICameraControl_get_ScanMode(This,pValue,pFlags) (This)->lpVtbl->get_ScanMode(This,pValue,pFlags)
    998 #define ICameraControl_put_ScanMode(This,Value,Flags) (This)->lpVtbl->put_ScanMode(This,Value,Flags)
    999 #define ICameraControl_get_PrivacyMode(This,pValue,pFlags) (This)->lpVtbl->get_PrivacyMode(This,pValue,pFlags)
   1000 #define ICameraControl_put_PrivacyMode(This,Value,Flags) (This)->lpVtbl->put_PrivacyMode(This,Value,Flags)
   1001 #else
   1002 /*** IUnknown methods ***/
   1003 static inline HRESULT ICameraControl_QueryInterface(ICameraControl* This,REFIID riid,void **ppvObject) {
   1004     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1005 }
   1006 static inline ULONG ICameraControl_AddRef(ICameraControl* This) {
   1007     return This->lpVtbl->AddRef(This);
   1008 }
   1009 static inline ULONG ICameraControl_Release(ICameraControl* This) {
   1010     return This->lpVtbl->Release(This);
   1011 }
   1012 /*** ICameraControl methods ***/
   1013 static inline HRESULT ICameraControl_get_Exposure(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1014     return This->lpVtbl->get_Exposure(This,pValue,pFlags);
   1015 }
   1016 static inline HRESULT ICameraControl_put_Exposure(ICameraControl* This,LONG Value,LONG Flags) {
   1017     return This->lpVtbl->put_Exposure(This,Value,Flags);
   1018 }
   1019 static inline HRESULT ICameraControl_getRange_Exposure(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1020     return This->lpVtbl->getRange_Exposure(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1021 }
   1022 static inline HRESULT ICameraControl_get_Focus(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1023     return This->lpVtbl->get_Focus(This,pValue,pFlags);
   1024 }
   1025 static inline HRESULT ICameraControl_put_Focus(ICameraControl* This,LONG Value,LONG Flags) {
   1026     return This->lpVtbl->put_Focus(This,Value,Flags);
   1027 }
   1028 static inline HRESULT ICameraControl_getRange_Focus(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1029     return This->lpVtbl->getRange_Focus(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1030 }
   1031 static inline HRESULT ICameraControl_get_Iris(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1032     return This->lpVtbl->get_Iris(This,pValue,pFlags);
   1033 }
   1034 static inline HRESULT ICameraControl_put_Iris(ICameraControl* This,LONG Value,LONG Flags) {
   1035     return This->lpVtbl->put_Iris(This,Value,Flags);
   1036 }
   1037 static inline HRESULT ICameraControl_getRange_Iris(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1038     return This->lpVtbl->getRange_Iris(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1039 }
   1040 static inline HRESULT ICameraControl_get_Zoom(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1041     return This->lpVtbl->get_Zoom(This,pValue,pFlags);
   1042 }
   1043 static inline HRESULT ICameraControl_put_Zoom(ICameraControl* This,LONG Value,LONG Flags) {
   1044     return This->lpVtbl->put_Zoom(This,Value,Flags);
   1045 }
   1046 static inline HRESULT ICameraControl_getRange_Zoom(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1047     return This->lpVtbl->getRange_Zoom(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1048 }
   1049 static inline HRESULT ICameraControl_get_FocalLengths(ICameraControl* This,LONG *plOcularFocalLength,LONG *plObjectiveFocalLengthMin,LONG *plObjectiveFocalLengthMax) {
   1050     return This->lpVtbl->get_FocalLengths(This,plOcularFocalLength,plObjectiveFocalLengthMin,plObjectiveFocalLengthMax);
   1051 }
   1052 static inline HRESULT ICameraControl_get_Pan(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1053     return This->lpVtbl->get_Pan(This,pValue,pFlags);
   1054 }
   1055 static inline HRESULT ICameraControl_put_Pan(ICameraControl* This,LONG Value,LONG Flags) {
   1056     return This->lpVtbl->put_Pan(This,Value,Flags);
   1057 }
   1058 static inline HRESULT ICameraControl_getRange_Pan(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1059     return This->lpVtbl->getRange_Pan(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1060 }
   1061 static inline HRESULT ICameraControl_get_Tilt(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1062     return This->lpVtbl->get_Tilt(This,pValue,pFlags);
   1063 }
   1064 static inline HRESULT ICameraControl_put_Tilt(ICameraControl* This,LONG Value,LONG Flags) {
   1065     return This->lpVtbl->put_Tilt(This,Value,Flags);
   1066 }
   1067 static inline HRESULT ICameraControl_getRange_Tilt(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1068     return This->lpVtbl->getRange_Tilt(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1069 }
   1070 static inline HRESULT ICameraControl_get_PanTilt(ICameraControl* This,LONG *pPanValue,LONG *pTiltValue,LONG *pFlags) {
   1071     return This->lpVtbl->get_PanTilt(This,pPanValue,pTiltValue,pFlags);
   1072 }
   1073 static inline HRESULT ICameraControl_put_PanTilt(ICameraControl* This,LONG PanValue,LONG TiltValue,LONG Flags) {
   1074     return This->lpVtbl->put_PanTilt(This,PanValue,TiltValue,Flags);
   1075 }
   1076 static inline HRESULT ICameraControl_get_Roll(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1077     return This->lpVtbl->get_Roll(This,pValue,pFlags);
   1078 }
   1079 static inline HRESULT ICameraControl_put_Roll(ICameraControl* This,LONG Value,LONG Flags) {
   1080     return This->lpVtbl->put_Roll(This,Value,Flags);
   1081 }
   1082 static inline HRESULT ICameraControl_getRange_Roll(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1083     return This->lpVtbl->getRange_Roll(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1084 }
   1085 static inline HRESULT ICameraControl_get_ExposureRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1086     return This->lpVtbl->get_ExposureRelative(This,pValue,pFlags);
   1087 }
   1088 static inline HRESULT ICameraControl_put_ExposureRelative(ICameraControl* This,LONG Value,LONG Flags) {
   1089     return This->lpVtbl->put_ExposureRelative(This,Value,Flags);
   1090 }
   1091 static inline HRESULT ICameraControl_getRange_ExposureRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1092     return This->lpVtbl->getRange_ExposureRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1093 }
   1094 static inline HRESULT ICameraControl_get_FocusRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1095     return This->lpVtbl->get_FocusRelative(This,pValue,pFlags);
   1096 }
   1097 static inline HRESULT ICameraControl_put_FocusRelative(ICameraControl* This,LONG Value,LONG Flags) {
   1098     return This->lpVtbl->put_FocusRelative(This,Value,Flags);
   1099 }
   1100 static inline HRESULT ICameraControl_getRange_FocusRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1101     return This->lpVtbl->getRange_FocusRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1102 }
   1103 static inline HRESULT ICameraControl_get_IrisRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1104     return This->lpVtbl->get_IrisRelative(This,pValue,pFlags);
   1105 }
   1106 static inline HRESULT ICameraControl_put_IrisRelative(ICameraControl* This,LONG Value,LONG Flags) {
   1107     return This->lpVtbl->put_IrisRelative(This,Value,Flags);
   1108 }
   1109 static inline HRESULT ICameraControl_getRange_IrisRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1110     return This->lpVtbl->getRange_IrisRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1111 }
   1112 static inline HRESULT ICameraControl_get_ZoomRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1113     return This->lpVtbl->get_ZoomRelative(This,pValue,pFlags);
   1114 }
   1115 static inline HRESULT ICameraControl_put_ZoomRelative(ICameraControl* This,LONG Value,LONG Flags) {
   1116     return This->lpVtbl->put_ZoomRelative(This,Value,Flags);
   1117 }
   1118 static inline HRESULT ICameraControl_getRange_ZoomRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1119     return This->lpVtbl->getRange_ZoomRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1120 }
   1121 static inline HRESULT ICameraControl_get_PanRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1122     return This->lpVtbl->get_PanRelative(This,pValue,pFlags);
   1123 }
   1124 static inline HRESULT ICameraControl_put_PanRelative(ICameraControl* This,LONG Value,LONG Flags) {
   1125     return This->lpVtbl->put_PanRelative(This,Value,Flags);
   1126 }
   1127 static inline HRESULT ICameraControl_get_TiltRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1128     return This->lpVtbl->get_TiltRelative(This,pValue,pFlags);
   1129 }
   1130 static inline HRESULT ICameraControl_put_TiltRelative(ICameraControl* This,LONG Value,LONG Flags) {
   1131     return This->lpVtbl->put_TiltRelative(This,Value,Flags);
   1132 }
   1133 static inline HRESULT ICameraControl_getRange_TiltRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1134     return This->lpVtbl->getRange_TiltRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1135 }
   1136 static inline HRESULT ICameraControl_get_PanTiltRelative(ICameraControl* This,LONG *pPanValue,LONG *pTiltValue,LONG *pFlags) {
   1137     return This->lpVtbl->get_PanTiltRelative(This,pPanValue,pTiltValue,pFlags);
   1138 }
   1139 static inline HRESULT ICameraControl_put_PanTiltRelative(ICameraControl* This,LONG PanValue,LONG TiltValue,LONG Flags) {
   1140     return This->lpVtbl->put_PanTiltRelative(This,PanValue,TiltValue,Flags);
   1141 }
   1142 static inline HRESULT ICameraControl_getRange_PanRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1143     return This->lpVtbl->getRange_PanRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1144 }
   1145 static inline HRESULT ICameraControl_get_RollRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1146     return This->lpVtbl->get_RollRelative(This,pValue,pFlags);
   1147 }
   1148 static inline HRESULT ICameraControl_put_RollRelative(ICameraControl* This,LONG Value,LONG Flags) {
   1149     return This->lpVtbl->put_RollRelative(This,Value,Flags);
   1150 }
   1151 static inline HRESULT ICameraControl_getRange_RollRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1152     return This->lpVtbl->getRange_RollRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1153 }
   1154 static inline HRESULT ICameraControl_get_ScanMode(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1155     return This->lpVtbl->get_ScanMode(This,pValue,pFlags);
   1156 }
   1157 static inline HRESULT ICameraControl_put_ScanMode(ICameraControl* This,LONG Value,LONG Flags) {
   1158     return This->lpVtbl->put_ScanMode(This,Value,Flags);
   1159 }
   1160 static inline HRESULT ICameraControl_get_PrivacyMode(ICameraControl* This,LONG *pValue,LONG *pFlags) {
   1161     return This->lpVtbl->get_PrivacyMode(This,pValue,pFlags);
   1162 }
   1163 static inline HRESULT ICameraControl_put_PrivacyMode(ICameraControl* This,LONG Value,LONG Flags) {
   1164     return This->lpVtbl->put_PrivacyMode(This,Value,Flags);
   1165 }
   1166 #endif
   1167 #endif
   1168 
   1169 #endif
   1170 
   1171 
   1172 #endif  /* __ICameraControl_INTERFACE_DEFINED__ */
   1173 
   1174 /*****************************************************************************
   1175  * IVideoProcAmp interface
   1176  */
   1177 #ifndef __IVideoProcAmp_INTERFACE_DEFINED__
   1178 #define __IVideoProcAmp_INTERFACE_DEFINED__
   1179 
   1180 DEFINE_GUID(IID_IVideoProcAmp, 0x4050560e, 0x42a7, 0x413a, 0x85,0xc2, 0x09,0x26,0x9a,0x2d,0x0f,0x44);
   1181 #if defined(__cplusplus) && !defined(CINTERFACE)
   1182 MIDL_INTERFACE("4050560e-42a7-413a-85c2-09269a2d0f44")
   1183 IVideoProcAmp : public IUnknown
   1184 {
   1185     virtual HRESULT STDMETHODCALLTYPE get_BacklightCompensation(
   1186         LONG *pValue,
   1187         LONG *pFlags) = 0;
   1188 
   1189     virtual HRESULT STDMETHODCALLTYPE put_BacklightCompensation(
   1190         LONG Value,
   1191         LONG Flags) = 0;
   1192 
   1193     virtual HRESULT STDMETHODCALLTYPE getRange_BacklightCompensation(
   1194         LONG *pMin,
   1195         LONG *pMax,
   1196         LONG *pSteppingDelta,
   1197         LONG *pDefault,
   1198         LONG *pCapsFlag) = 0;
   1199 
   1200     virtual HRESULT STDMETHODCALLTYPE get_Brightness(
   1201         LONG *pValue,
   1202         LONG *pFlags) = 0;
   1203 
   1204     virtual HRESULT STDMETHODCALLTYPE put_Brightness(
   1205         LONG Value,
   1206         LONG Flags) = 0;
   1207 
   1208     virtual HRESULT STDMETHODCALLTYPE getRange_Brightness(
   1209         LONG *pMin,
   1210         LONG *pMax,
   1211         LONG *pSteppingDelta,
   1212         LONG *pDefault,
   1213         LONG *pCapsFlag) = 0;
   1214 
   1215     virtual HRESULT STDMETHODCALLTYPE get_ColorEnable(
   1216         LONG *pValue,
   1217         LONG *pFlags) = 0;
   1218 
   1219     virtual HRESULT STDMETHODCALLTYPE put_ColorEnable(
   1220         LONG Value,
   1221         LONG Flags) = 0;
   1222 
   1223     virtual HRESULT STDMETHODCALLTYPE getRange_ColorEnable(
   1224         LONG *pMin,
   1225         LONG *pMax,
   1226         LONG *pSteppingDelta,
   1227         LONG *pDefault,
   1228         LONG *pCapsFlag) = 0;
   1229 
   1230     virtual HRESULT STDMETHODCALLTYPE get_Contrast(
   1231         LONG *pValue,
   1232         LONG *pFlags) = 0;
   1233 
   1234     virtual HRESULT STDMETHODCALLTYPE put_Contrast(
   1235         LONG Value,
   1236         LONG Flags) = 0;
   1237 
   1238     virtual HRESULT STDMETHODCALLTYPE getRange_Contrast(
   1239         LONG *pMin,
   1240         LONG *pMax,
   1241         LONG *pSteppingDelta,
   1242         LONG *pDefault,
   1243         LONG *pCapsFlag) = 0;
   1244 
   1245     virtual HRESULT STDMETHODCALLTYPE get_Gamma(
   1246         LONG *pValue,
   1247         LONG *pFlags) = 0;
   1248 
   1249     virtual HRESULT STDMETHODCALLTYPE put_Gamma(
   1250         LONG Value,
   1251         LONG Flags) = 0;
   1252 
   1253     virtual HRESULT STDMETHODCALLTYPE getRange_Gamma(
   1254         LONG *pMin,
   1255         LONG *pMax,
   1256         LONG *pSteppingDelta,
   1257         LONG *pDefault,
   1258         LONG *pCapsFlag) = 0;
   1259 
   1260     virtual HRESULT STDMETHODCALLTYPE get_Saturation(
   1261         LONG *pValue,
   1262         LONG *pFlags) = 0;
   1263 
   1264     virtual HRESULT STDMETHODCALLTYPE put_Saturation(
   1265         LONG Value,
   1266         LONG Flags) = 0;
   1267 
   1268     virtual HRESULT STDMETHODCALLTYPE getRange_Saturation(
   1269         LONG *pMin,
   1270         LONG *pMax,
   1271         LONG *pSteppingDelta,
   1272         LONG *pDefault,
   1273         LONG *pCapsFlag) = 0;
   1274 
   1275     virtual HRESULT STDMETHODCALLTYPE get_Sharpness(
   1276         LONG *pValue,
   1277         LONG *pFlags) = 0;
   1278 
   1279     virtual HRESULT STDMETHODCALLTYPE put_Sharpness(
   1280         LONG Value,
   1281         LONG Flags) = 0;
   1282 
   1283     virtual HRESULT STDMETHODCALLTYPE getRange_Sharpness(
   1284         LONG *pMin,
   1285         LONG *pMax,
   1286         LONG *pSteppingDelta,
   1287         LONG *pDefault,
   1288         LONG *pCapsFlag) = 0;
   1289 
   1290     virtual HRESULT STDMETHODCALLTYPE get_WhiteBalance(
   1291         LONG *pValue,
   1292         LONG *pFlags) = 0;
   1293 
   1294     virtual HRESULT STDMETHODCALLTYPE put_WhiteBalance(
   1295         LONG Value,
   1296         LONG Flags) = 0;
   1297 
   1298     virtual HRESULT STDMETHODCALLTYPE getRange_WhiteBalance(
   1299         LONG *pMin,
   1300         LONG *pMax,
   1301         LONG *pSteppingDelta,
   1302         LONG *pDefault,
   1303         LONG *pCapsFlag) = 0;
   1304 
   1305     virtual HRESULT STDMETHODCALLTYPE get_Gain(
   1306         LONG *pValue,
   1307         LONG *pFlags) = 0;
   1308 
   1309     virtual HRESULT STDMETHODCALLTYPE put_Gain(
   1310         LONG Value,
   1311         LONG Flags) = 0;
   1312 
   1313     virtual HRESULT STDMETHODCALLTYPE getRange_Gain(
   1314         LONG *pMin,
   1315         LONG *pMax,
   1316         LONG *pSteppingDelta,
   1317         LONG *pDefault,
   1318         LONG *pCapsFlag) = 0;
   1319 
   1320     virtual HRESULT STDMETHODCALLTYPE get_Hue(
   1321         LONG *pValue,
   1322         LONG *pFlags) = 0;
   1323 
   1324     virtual HRESULT STDMETHODCALLTYPE put_Hue(
   1325         LONG Value,
   1326         LONG Flags) = 0;
   1327 
   1328     virtual HRESULT STDMETHODCALLTYPE getRange_Hue(
   1329         LONG *pMin,
   1330         LONG *pMax,
   1331         LONG *pSteppingDelta,
   1332         LONG *pDefault,
   1333         LONG *pCapsFlag) = 0;
   1334 
   1335     virtual HRESULT STDMETHODCALLTYPE get_DigitalMultiplier(
   1336         LONG *pValue,
   1337         LONG *pFlags) = 0;
   1338 
   1339     virtual HRESULT STDMETHODCALLTYPE put_DigitalMultiplier(
   1340         LONG Value,
   1341         LONG Flags) = 0;
   1342 
   1343     virtual HRESULT STDMETHODCALLTYPE getRange_DigitalMultiplier(
   1344         LONG *pMin,
   1345         LONG *pMax,
   1346         LONG *pSteppingDelta,
   1347         LONG *pDefault,
   1348         LONG *pCapsFlag) = 0;
   1349 
   1350     virtual HRESULT STDMETHODCALLTYPE get_PowerlineFrequency(
   1351         LONG *pValue,
   1352         LONG *pFlags) = 0;
   1353 
   1354     virtual HRESULT STDMETHODCALLTYPE put_PowerlineFrequency(
   1355         LONG Value,
   1356         LONG Flags) = 0;
   1357 
   1358     virtual HRESULT STDMETHODCALLTYPE getRange_PowerlineFrequency(
   1359         LONG *pMin,
   1360         LONG *pMax,
   1361         LONG *pSteppingDelta,
   1362         LONG *pDefault,
   1363         LONG *pCapsFlag) = 0;
   1364 
   1365     virtual HRESULT STDMETHODCALLTYPE get_WhiteBalanceComponent(
   1366         LONG *pValue1,
   1367         LONG *pValue2,
   1368         LONG *pFlags) = 0;
   1369 
   1370     virtual HRESULT STDMETHODCALLTYPE put_WhiteBalanceComponent(
   1371         LONG Value1,
   1372         LONG Value2,
   1373         LONG Flags) = 0;
   1374 
   1375     virtual HRESULT STDMETHODCALLTYPE getRange_WhiteBalanceComponent(
   1376         LONG *pMin,
   1377         LONG *pMax,
   1378         LONG *pSteppingDelta,
   1379         LONG *pDefault,
   1380         LONG *pCapsFlag) = 0;
   1381 
   1382 };
   1383 #ifdef __CRT_UUID_DECL
   1384 __CRT_UUID_DECL(IVideoProcAmp, 0x4050560e, 0x42a7, 0x413a, 0x85,0xc2, 0x09,0x26,0x9a,0x2d,0x0f,0x44)
   1385 #endif
   1386 #else
   1387 typedef struct IVideoProcAmpVtbl {
   1388     BEGIN_INTERFACE
   1389 
   1390     /*** IUnknown methods ***/
   1391     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1392         IVideoProcAmp *This,
   1393         REFIID riid,
   1394         void **ppvObject);
   1395 
   1396     ULONG (STDMETHODCALLTYPE *AddRef)(
   1397         IVideoProcAmp *This);
   1398 
   1399     ULONG (STDMETHODCALLTYPE *Release)(
   1400         IVideoProcAmp *This);
   1401 
   1402     /*** IVideoProcAmp methods ***/
   1403     HRESULT (STDMETHODCALLTYPE *get_BacklightCompensation)(
   1404         IVideoProcAmp *This,
   1405         LONG *pValue,
   1406         LONG *pFlags);
   1407 
   1408     HRESULT (STDMETHODCALLTYPE *put_BacklightCompensation)(
   1409         IVideoProcAmp *This,
   1410         LONG Value,
   1411         LONG Flags);
   1412 
   1413     HRESULT (STDMETHODCALLTYPE *getRange_BacklightCompensation)(
   1414         IVideoProcAmp *This,
   1415         LONG *pMin,
   1416         LONG *pMax,
   1417         LONG *pSteppingDelta,
   1418         LONG *pDefault,
   1419         LONG *pCapsFlag);
   1420 
   1421     HRESULT (STDMETHODCALLTYPE *get_Brightness)(
   1422         IVideoProcAmp *This,
   1423         LONG *pValue,
   1424         LONG *pFlags);
   1425 
   1426     HRESULT (STDMETHODCALLTYPE *put_Brightness)(
   1427         IVideoProcAmp *This,
   1428         LONG Value,
   1429         LONG Flags);
   1430 
   1431     HRESULT (STDMETHODCALLTYPE *getRange_Brightness)(
   1432         IVideoProcAmp *This,
   1433         LONG *pMin,
   1434         LONG *pMax,
   1435         LONG *pSteppingDelta,
   1436         LONG *pDefault,
   1437         LONG *pCapsFlag);
   1438 
   1439     HRESULT (STDMETHODCALLTYPE *get_ColorEnable)(
   1440         IVideoProcAmp *This,
   1441         LONG *pValue,
   1442         LONG *pFlags);
   1443 
   1444     HRESULT (STDMETHODCALLTYPE *put_ColorEnable)(
   1445         IVideoProcAmp *This,
   1446         LONG Value,
   1447         LONG Flags);
   1448 
   1449     HRESULT (STDMETHODCALLTYPE *getRange_ColorEnable)(
   1450         IVideoProcAmp *This,
   1451         LONG *pMin,
   1452         LONG *pMax,
   1453         LONG *pSteppingDelta,
   1454         LONG *pDefault,
   1455         LONG *pCapsFlag);
   1456 
   1457     HRESULT (STDMETHODCALLTYPE *get_Contrast)(
   1458         IVideoProcAmp *This,
   1459         LONG *pValue,
   1460         LONG *pFlags);
   1461 
   1462     HRESULT (STDMETHODCALLTYPE *put_Contrast)(
   1463         IVideoProcAmp *This,
   1464         LONG Value,
   1465         LONG Flags);
   1466 
   1467     HRESULT (STDMETHODCALLTYPE *getRange_Contrast)(
   1468         IVideoProcAmp *This,
   1469         LONG *pMin,
   1470         LONG *pMax,
   1471         LONG *pSteppingDelta,
   1472         LONG *pDefault,
   1473         LONG *pCapsFlag);
   1474 
   1475     HRESULT (STDMETHODCALLTYPE *get_Gamma)(
   1476         IVideoProcAmp *This,
   1477         LONG *pValue,
   1478         LONG *pFlags);
   1479 
   1480     HRESULT (STDMETHODCALLTYPE *put_Gamma)(
   1481         IVideoProcAmp *This,
   1482         LONG Value,
   1483         LONG Flags);
   1484 
   1485     HRESULT (STDMETHODCALLTYPE *getRange_Gamma)(
   1486         IVideoProcAmp *This,
   1487         LONG *pMin,
   1488         LONG *pMax,
   1489         LONG *pSteppingDelta,
   1490         LONG *pDefault,
   1491         LONG *pCapsFlag);
   1492 
   1493     HRESULT (STDMETHODCALLTYPE *get_Saturation)(
   1494         IVideoProcAmp *This,
   1495         LONG *pValue,
   1496         LONG *pFlags);
   1497 
   1498     HRESULT (STDMETHODCALLTYPE *put_Saturation)(
   1499         IVideoProcAmp *This,
   1500         LONG Value,
   1501         LONG Flags);
   1502 
   1503     HRESULT (STDMETHODCALLTYPE *getRange_Saturation)(
   1504         IVideoProcAmp *This,
   1505         LONG *pMin,
   1506         LONG *pMax,
   1507         LONG *pSteppingDelta,
   1508         LONG *pDefault,
   1509         LONG *pCapsFlag);
   1510 
   1511     HRESULT (STDMETHODCALLTYPE *get_Sharpness)(
   1512         IVideoProcAmp *This,
   1513         LONG *pValue,
   1514         LONG *pFlags);
   1515 
   1516     HRESULT (STDMETHODCALLTYPE *put_Sharpness)(
   1517         IVideoProcAmp *This,
   1518         LONG Value,
   1519         LONG Flags);
   1520 
   1521     HRESULT (STDMETHODCALLTYPE *getRange_Sharpness)(
   1522         IVideoProcAmp *This,
   1523         LONG *pMin,
   1524         LONG *pMax,
   1525         LONG *pSteppingDelta,
   1526         LONG *pDefault,
   1527         LONG *pCapsFlag);
   1528 
   1529     HRESULT (STDMETHODCALLTYPE *get_WhiteBalance)(
   1530         IVideoProcAmp *This,
   1531         LONG *pValue,
   1532         LONG *pFlags);
   1533 
   1534     HRESULT (STDMETHODCALLTYPE *put_WhiteBalance)(
   1535         IVideoProcAmp *This,
   1536         LONG Value,
   1537         LONG Flags);
   1538 
   1539     HRESULT (STDMETHODCALLTYPE *getRange_WhiteBalance)(
   1540         IVideoProcAmp *This,
   1541         LONG *pMin,
   1542         LONG *pMax,
   1543         LONG *pSteppingDelta,
   1544         LONG *pDefault,
   1545         LONG *pCapsFlag);
   1546 
   1547     HRESULT (STDMETHODCALLTYPE *get_Gain)(
   1548         IVideoProcAmp *This,
   1549         LONG *pValue,
   1550         LONG *pFlags);
   1551 
   1552     HRESULT (STDMETHODCALLTYPE *put_Gain)(
   1553         IVideoProcAmp *This,
   1554         LONG Value,
   1555         LONG Flags);
   1556 
   1557     HRESULT (STDMETHODCALLTYPE *getRange_Gain)(
   1558         IVideoProcAmp *This,
   1559         LONG *pMin,
   1560         LONG *pMax,
   1561         LONG *pSteppingDelta,
   1562         LONG *pDefault,
   1563         LONG *pCapsFlag);
   1564 
   1565     HRESULT (STDMETHODCALLTYPE *get_Hue)(
   1566         IVideoProcAmp *This,
   1567         LONG *pValue,
   1568         LONG *pFlags);
   1569 
   1570     HRESULT (STDMETHODCALLTYPE *put_Hue)(
   1571         IVideoProcAmp *This,
   1572         LONG Value,
   1573         LONG Flags);
   1574 
   1575     HRESULT (STDMETHODCALLTYPE *getRange_Hue)(
   1576         IVideoProcAmp *This,
   1577         LONG *pMin,
   1578         LONG *pMax,
   1579         LONG *pSteppingDelta,
   1580         LONG *pDefault,
   1581         LONG *pCapsFlag);
   1582 
   1583     HRESULT (STDMETHODCALLTYPE *get_DigitalMultiplier)(
   1584         IVideoProcAmp *This,
   1585         LONG *pValue,
   1586         LONG *pFlags);
   1587 
   1588     HRESULT (STDMETHODCALLTYPE *put_DigitalMultiplier)(
   1589         IVideoProcAmp *This,
   1590         LONG Value,
   1591         LONG Flags);
   1592 
   1593     HRESULT (STDMETHODCALLTYPE *getRange_DigitalMultiplier)(
   1594         IVideoProcAmp *This,
   1595         LONG *pMin,
   1596         LONG *pMax,
   1597         LONG *pSteppingDelta,
   1598         LONG *pDefault,
   1599         LONG *pCapsFlag);
   1600 
   1601     HRESULT (STDMETHODCALLTYPE *get_PowerlineFrequency)(
   1602         IVideoProcAmp *This,
   1603         LONG *pValue,
   1604         LONG *pFlags);
   1605 
   1606     HRESULT (STDMETHODCALLTYPE *put_PowerlineFrequency)(
   1607         IVideoProcAmp *This,
   1608         LONG Value,
   1609         LONG Flags);
   1610 
   1611     HRESULT (STDMETHODCALLTYPE *getRange_PowerlineFrequency)(
   1612         IVideoProcAmp *This,
   1613         LONG *pMin,
   1614         LONG *pMax,
   1615         LONG *pSteppingDelta,
   1616         LONG *pDefault,
   1617         LONG *pCapsFlag);
   1618 
   1619     HRESULT (STDMETHODCALLTYPE *get_WhiteBalanceComponent)(
   1620         IVideoProcAmp *This,
   1621         LONG *pValue1,
   1622         LONG *pValue2,
   1623         LONG *pFlags);
   1624 
   1625     HRESULT (STDMETHODCALLTYPE *put_WhiteBalanceComponent)(
   1626         IVideoProcAmp *This,
   1627         LONG Value1,
   1628         LONG Value2,
   1629         LONG Flags);
   1630 
   1631     HRESULT (STDMETHODCALLTYPE *getRange_WhiteBalanceComponent)(
   1632         IVideoProcAmp *This,
   1633         LONG *pMin,
   1634         LONG *pMax,
   1635         LONG *pSteppingDelta,
   1636         LONG *pDefault,
   1637         LONG *pCapsFlag);
   1638 
   1639     END_INTERFACE
   1640 } IVideoProcAmpVtbl;
   1641 
   1642 interface IVideoProcAmp {
   1643     CONST_VTBL IVideoProcAmpVtbl* lpVtbl;
   1644 };
   1645 
   1646 #ifdef COBJMACROS
   1647 #ifndef WIDL_C_INLINE_WRAPPERS
   1648 /*** IUnknown methods ***/
   1649 #define IVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1650 #define IVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This)
   1651 #define IVideoProcAmp_Release(This) (This)->lpVtbl->Release(This)
   1652 /*** IVideoProcAmp methods ***/
   1653 #define IVideoProcAmp_get_BacklightCompensation(This,pValue,pFlags) (This)->lpVtbl->get_BacklightCompensation(This,pValue,pFlags)
   1654 #define IVideoProcAmp_put_BacklightCompensation(This,Value,Flags) (This)->lpVtbl->put_BacklightCompensation(This,Value,Flags)
   1655 #define IVideoProcAmp_getRange_BacklightCompensation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_BacklightCompensation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1656 #define IVideoProcAmp_get_Brightness(This,pValue,pFlags) (This)->lpVtbl->get_Brightness(This,pValue,pFlags)
   1657 #define IVideoProcAmp_put_Brightness(This,Value,Flags) (This)->lpVtbl->put_Brightness(This,Value,Flags)
   1658 #define IVideoProcAmp_getRange_Brightness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Brightness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1659 #define IVideoProcAmp_get_ColorEnable(This,pValue,pFlags) (This)->lpVtbl->get_ColorEnable(This,pValue,pFlags)
   1660 #define IVideoProcAmp_put_ColorEnable(This,Value,Flags) (This)->lpVtbl->put_ColorEnable(This,Value,Flags)
   1661 #define IVideoProcAmp_getRange_ColorEnable(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_ColorEnable(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1662 #define IVideoProcAmp_get_Contrast(This,pValue,pFlags) (This)->lpVtbl->get_Contrast(This,pValue,pFlags)
   1663 #define IVideoProcAmp_put_Contrast(This,Value,Flags) (This)->lpVtbl->put_Contrast(This,Value,Flags)
   1664 #define IVideoProcAmp_getRange_Contrast(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Contrast(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1665 #define IVideoProcAmp_get_Gamma(This,pValue,pFlags) (This)->lpVtbl->get_Gamma(This,pValue,pFlags)
   1666 #define IVideoProcAmp_put_Gamma(This,Value,Flags) (This)->lpVtbl->put_Gamma(This,Value,Flags)
   1667 #define IVideoProcAmp_getRange_Gamma(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Gamma(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1668 #define IVideoProcAmp_get_Saturation(This,pValue,pFlags) (This)->lpVtbl->get_Saturation(This,pValue,pFlags)
   1669 #define IVideoProcAmp_put_Saturation(This,Value,Flags) (This)->lpVtbl->put_Saturation(This,Value,Flags)
   1670 #define IVideoProcAmp_getRange_Saturation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Saturation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1671 #define IVideoProcAmp_get_Sharpness(This,pValue,pFlags) (This)->lpVtbl->get_Sharpness(This,pValue,pFlags)
   1672 #define IVideoProcAmp_put_Sharpness(This,Value,Flags) (This)->lpVtbl->put_Sharpness(This,Value,Flags)
   1673 #define IVideoProcAmp_getRange_Sharpness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Sharpness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1674 #define IVideoProcAmp_get_WhiteBalance(This,pValue,pFlags) (This)->lpVtbl->get_WhiteBalance(This,pValue,pFlags)
   1675 #define IVideoProcAmp_put_WhiteBalance(This,Value,Flags) (This)->lpVtbl->put_WhiteBalance(This,Value,Flags)
   1676 #define IVideoProcAmp_getRange_WhiteBalance(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_WhiteBalance(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1677 #define IVideoProcAmp_get_Gain(This,pValue,pFlags) (This)->lpVtbl->get_Gain(This,pValue,pFlags)
   1678 #define IVideoProcAmp_put_Gain(This,Value,Flags) (This)->lpVtbl->put_Gain(This,Value,Flags)
   1679 #define IVideoProcAmp_getRange_Gain(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Gain(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1680 #define IVideoProcAmp_get_Hue(This,pValue,pFlags) (This)->lpVtbl->get_Hue(This,pValue,pFlags)
   1681 #define IVideoProcAmp_put_Hue(This,Value,Flags) (This)->lpVtbl->put_Hue(This,Value,Flags)
   1682 #define IVideoProcAmp_getRange_Hue(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Hue(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1683 #define IVideoProcAmp_get_DigitalMultiplier(This,pValue,pFlags) (This)->lpVtbl->get_DigitalMultiplier(This,pValue,pFlags)
   1684 #define IVideoProcAmp_put_DigitalMultiplier(This,Value,Flags) (This)->lpVtbl->put_DigitalMultiplier(This,Value,Flags)
   1685 #define IVideoProcAmp_getRange_DigitalMultiplier(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_DigitalMultiplier(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1686 #define IVideoProcAmp_get_PowerlineFrequency(This,pValue,pFlags) (This)->lpVtbl->get_PowerlineFrequency(This,pValue,pFlags)
   1687 #define IVideoProcAmp_put_PowerlineFrequency(This,Value,Flags) (This)->lpVtbl->put_PowerlineFrequency(This,Value,Flags)
   1688 #define IVideoProcAmp_getRange_PowerlineFrequency(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_PowerlineFrequency(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1689 #define IVideoProcAmp_get_WhiteBalanceComponent(This,pValue1,pValue2,pFlags) (This)->lpVtbl->get_WhiteBalanceComponent(This,pValue1,pValue2,pFlags)
   1690 #define IVideoProcAmp_put_WhiteBalanceComponent(This,Value1,Value2,Flags) (This)->lpVtbl->put_WhiteBalanceComponent(This,Value1,Value2,Flags)
   1691 #define IVideoProcAmp_getRange_WhiteBalanceComponent(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_WhiteBalanceComponent(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag)
   1692 #else
   1693 /*** IUnknown methods ***/
   1694 static inline HRESULT IVideoProcAmp_QueryInterface(IVideoProcAmp* This,REFIID riid,void **ppvObject) {
   1695     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1696 }
   1697 static inline ULONG IVideoProcAmp_AddRef(IVideoProcAmp* This) {
   1698     return This->lpVtbl->AddRef(This);
   1699 }
   1700 static inline ULONG IVideoProcAmp_Release(IVideoProcAmp* This) {
   1701     return This->lpVtbl->Release(This);
   1702 }
   1703 /*** IVideoProcAmp methods ***/
   1704 static inline HRESULT IVideoProcAmp_get_BacklightCompensation(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1705     return This->lpVtbl->get_BacklightCompensation(This,pValue,pFlags);
   1706 }
   1707 static inline HRESULT IVideoProcAmp_put_BacklightCompensation(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1708     return This->lpVtbl->put_BacklightCompensation(This,Value,Flags);
   1709 }
   1710 static inline HRESULT IVideoProcAmp_getRange_BacklightCompensation(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1711     return This->lpVtbl->getRange_BacklightCompensation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1712 }
   1713 static inline HRESULT IVideoProcAmp_get_Brightness(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1714     return This->lpVtbl->get_Brightness(This,pValue,pFlags);
   1715 }
   1716 static inline HRESULT IVideoProcAmp_put_Brightness(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1717     return This->lpVtbl->put_Brightness(This,Value,Flags);
   1718 }
   1719 static inline HRESULT IVideoProcAmp_getRange_Brightness(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1720     return This->lpVtbl->getRange_Brightness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1721 }
   1722 static inline HRESULT IVideoProcAmp_get_ColorEnable(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1723     return This->lpVtbl->get_ColorEnable(This,pValue,pFlags);
   1724 }
   1725 static inline HRESULT IVideoProcAmp_put_ColorEnable(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1726     return This->lpVtbl->put_ColorEnable(This,Value,Flags);
   1727 }
   1728 static inline HRESULT IVideoProcAmp_getRange_ColorEnable(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1729     return This->lpVtbl->getRange_ColorEnable(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1730 }
   1731 static inline HRESULT IVideoProcAmp_get_Contrast(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1732     return This->lpVtbl->get_Contrast(This,pValue,pFlags);
   1733 }
   1734 static inline HRESULT IVideoProcAmp_put_Contrast(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1735     return This->lpVtbl->put_Contrast(This,Value,Flags);
   1736 }
   1737 static inline HRESULT IVideoProcAmp_getRange_Contrast(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1738     return This->lpVtbl->getRange_Contrast(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1739 }
   1740 static inline HRESULT IVideoProcAmp_get_Gamma(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1741     return This->lpVtbl->get_Gamma(This,pValue,pFlags);
   1742 }
   1743 static inline HRESULT IVideoProcAmp_put_Gamma(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1744     return This->lpVtbl->put_Gamma(This,Value,Flags);
   1745 }
   1746 static inline HRESULT IVideoProcAmp_getRange_Gamma(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1747     return This->lpVtbl->getRange_Gamma(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1748 }
   1749 static inline HRESULT IVideoProcAmp_get_Saturation(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1750     return This->lpVtbl->get_Saturation(This,pValue,pFlags);
   1751 }
   1752 static inline HRESULT IVideoProcAmp_put_Saturation(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1753     return This->lpVtbl->put_Saturation(This,Value,Flags);
   1754 }
   1755 static inline HRESULT IVideoProcAmp_getRange_Saturation(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1756     return This->lpVtbl->getRange_Saturation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1757 }
   1758 static inline HRESULT IVideoProcAmp_get_Sharpness(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1759     return This->lpVtbl->get_Sharpness(This,pValue,pFlags);
   1760 }
   1761 static inline HRESULT IVideoProcAmp_put_Sharpness(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1762     return This->lpVtbl->put_Sharpness(This,Value,Flags);
   1763 }
   1764 static inline HRESULT IVideoProcAmp_getRange_Sharpness(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1765     return This->lpVtbl->getRange_Sharpness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1766 }
   1767 static inline HRESULT IVideoProcAmp_get_WhiteBalance(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1768     return This->lpVtbl->get_WhiteBalance(This,pValue,pFlags);
   1769 }
   1770 static inline HRESULT IVideoProcAmp_put_WhiteBalance(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1771     return This->lpVtbl->put_WhiteBalance(This,Value,Flags);
   1772 }
   1773 static inline HRESULT IVideoProcAmp_getRange_WhiteBalance(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1774     return This->lpVtbl->getRange_WhiteBalance(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1775 }
   1776 static inline HRESULT IVideoProcAmp_get_Gain(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1777     return This->lpVtbl->get_Gain(This,pValue,pFlags);
   1778 }
   1779 static inline HRESULT IVideoProcAmp_put_Gain(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1780     return This->lpVtbl->put_Gain(This,Value,Flags);
   1781 }
   1782 static inline HRESULT IVideoProcAmp_getRange_Gain(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1783     return This->lpVtbl->getRange_Gain(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1784 }
   1785 static inline HRESULT IVideoProcAmp_get_Hue(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1786     return This->lpVtbl->get_Hue(This,pValue,pFlags);
   1787 }
   1788 static inline HRESULT IVideoProcAmp_put_Hue(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1789     return This->lpVtbl->put_Hue(This,Value,Flags);
   1790 }
   1791 static inline HRESULT IVideoProcAmp_getRange_Hue(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1792     return This->lpVtbl->getRange_Hue(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1793 }
   1794 static inline HRESULT IVideoProcAmp_get_DigitalMultiplier(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1795     return This->lpVtbl->get_DigitalMultiplier(This,pValue,pFlags);
   1796 }
   1797 static inline HRESULT IVideoProcAmp_put_DigitalMultiplier(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1798     return This->lpVtbl->put_DigitalMultiplier(This,Value,Flags);
   1799 }
   1800 static inline HRESULT IVideoProcAmp_getRange_DigitalMultiplier(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1801     return This->lpVtbl->getRange_DigitalMultiplier(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1802 }
   1803 static inline HRESULT IVideoProcAmp_get_PowerlineFrequency(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) {
   1804     return This->lpVtbl->get_PowerlineFrequency(This,pValue,pFlags);
   1805 }
   1806 static inline HRESULT IVideoProcAmp_put_PowerlineFrequency(IVideoProcAmp* This,LONG Value,LONG Flags) {
   1807     return This->lpVtbl->put_PowerlineFrequency(This,Value,Flags);
   1808 }
   1809 static inline HRESULT IVideoProcAmp_getRange_PowerlineFrequency(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1810     return This->lpVtbl->getRange_PowerlineFrequency(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1811 }
   1812 static inline HRESULT IVideoProcAmp_get_WhiteBalanceComponent(IVideoProcAmp* This,LONG *pValue1,LONG *pValue2,LONG *pFlags) {
   1813     return This->lpVtbl->get_WhiteBalanceComponent(This,pValue1,pValue2,pFlags);
   1814 }
   1815 static inline HRESULT IVideoProcAmp_put_WhiteBalanceComponent(IVideoProcAmp* This,LONG Value1,LONG Value2,LONG Flags) {
   1816     return This->lpVtbl->put_WhiteBalanceComponent(This,Value1,Value2,Flags);
   1817 }
   1818 static inline HRESULT IVideoProcAmp_getRange_WhiteBalanceComponent(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) {
   1819     return This->lpVtbl->getRange_WhiteBalanceComponent(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag);
   1820 }
   1821 #endif
   1822 #endif
   1823 
   1824 #endif
   1825 
   1826 
   1827 #endif  /* __IVideoProcAmp_INTERFACE_DEFINED__ */
   1828 
   1829 /*****************************************************************************
   1830  * IKsNodeControl interface
   1831  */
   1832 #ifndef __IKsNodeControl_INTERFACE_DEFINED__
   1833 #define __IKsNodeControl_INTERFACE_DEFINED__
   1834 
   1835 DEFINE_GUID(IID_IKsNodeControl, 0x11737c14, 0x24a7, 0x4bb5, 0x81,0xa0, 0x0d,0x00,0x38,0x13,0xb0,0xc4);
   1836 #if defined(__cplusplus) && !defined(CINTERFACE)
   1837 MIDL_INTERFACE("11737c14-24a7-4bb5-81a0-0d003813b0c4")
   1838 IKsNodeControl : public IUnknown
   1839 {
   1840     virtual HRESULT STDMETHODCALLTYPE put_NodeId(
   1841         DWORD dwNodeId) = 0;
   1842 
   1843     virtual HRESULT STDMETHODCALLTYPE put_KsControl(
   1844         PVOID pKsControl) = 0;
   1845 
   1846 };
   1847 #ifdef __CRT_UUID_DECL
   1848 __CRT_UUID_DECL(IKsNodeControl, 0x11737c14, 0x24a7, 0x4bb5, 0x81,0xa0, 0x0d,0x00,0x38,0x13,0xb0,0xc4)
   1849 #endif
   1850 #else
   1851 typedef struct IKsNodeControlVtbl {
   1852     BEGIN_INTERFACE
   1853 
   1854     /*** IUnknown methods ***/
   1855     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1856         IKsNodeControl *This,
   1857         REFIID riid,
   1858         void **ppvObject);
   1859 
   1860     ULONG (STDMETHODCALLTYPE *AddRef)(
   1861         IKsNodeControl *This);
   1862 
   1863     ULONG (STDMETHODCALLTYPE *Release)(
   1864         IKsNodeControl *This);
   1865 
   1866     /*** IKsNodeControl methods ***/
   1867     HRESULT (STDMETHODCALLTYPE *put_NodeId)(
   1868         IKsNodeControl *This,
   1869         DWORD dwNodeId);
   1870 
   1871     HRESULT (STDMETHODCALLTYPE *put_KsControl)(
   1872         IKsNodeControl *This,
   1873         PVOID pKsControl);
   1874 
   1875     END_INTERFACE
   1876 } IKsNodeControlVtbl;
   1877 
   1878 interface IKsNodeControl {
   1879     CONST_VTBL IKsNodeControlVtbl* lpVtbl;
   1880 };
   1881 
   1882 #ifdef COBJMACROS
   1883 #ifndef WIDL_C_INLINE_WRAPPERS
   1884 /*** IUnknown methods ***/
   1885 #define IKsNodeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1886 #define IKsNodeControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   1887 #define IKsNodeControl_Release(This) (This)->lpVtbl->Release(This)
   1888 /*** IKsNodeControl methods ***/
   1889 #define IKsNodeControl_put_NodeId(This,dwNodeId) (This)->lpVtbl->put_NodeId(This,dwNodeId)
   1890 #define IKsNodeControl_put_KsControl(This,pKsControl) (This)->lpVtbl->put_KsControl(This,pKsControl)
   1891 #else
   1892 /*** IUnknown methods ***/
   1893 static inline HRESULT IKsNodeControl_QueryInterface(IKsNodeControl* This,REFIID riid,void **ppvObject) {
   1894     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1895 }
   1896 static inline ULONG IKsNodeControl_AddRef(IKsNodeControl* This) {
   1897     return This->lpVtbl->AddRef(This);
   1898 }
   1899 static inline ULONG IKsNodeControl_Release(IKsNodeControl* This) {
   1900     return This->lpVtbl->Release(This);
   1901 }
   1902 /*** IKsNodeControl methods ***/
   1903 static inline HRESULT IKsNodeControl_put_NodeId(IKsNodeControl* This,DWORD dwNodeId) {
   1904     return This->lpVtbl->put_NodeId(This,dwNodeId);
   1905 }
   1906 static inline HRESULT IKsNodeControl_put_KsControl(IKsNodeControl* This,PVOID pKsControl) {
   1907     return This->lpVtbl->put_KsControl(This,pKsControl);
   1908 }
   1909 #endif
   1910 #endif
   1911 
   1912 #endif
   1913 
   1914 
   1915 #endif  /* __IKsNodeControl_INTERFACE_DEFINED__ */
   1916 
   1917 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
   1918 /* Begin additional prototypes for all interfaces */
   1919 
   1920 
   1921 /* End additional prototypes */
   1922 
   1923 #ifdef __cplusplus
   1924 }
   1925 #endif
   1926 
   1927 #endif /* __vidcap_h__ */