1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 7 #define __REQUIRED_RPCNDR_H_VERSION__ 475 8 #endif 9 10 #include "rpc.h" 11 #include "rpcndr.h" 12 13 #ifndef __RPCNDR_H_VERSION__ 14 #error This stub requires an updated version of <rpcndr.h> 15 #endif 16 17 #ifndef COM_NO_WINDOWS_H 18 #include "windows.h" 19 #include "ole2.h" 20 #endif 21 22 #ifndef __wiavideo_h__ 23 #define __wiavideo_h__ 24 25 #ifndef __IWiaVideo_FWD_DEFINED__ 26 #define __IWiaVideo_FWD_DEFINED__ 27 typedef struct IWiaVideo IWiaVideo; 28 #endif 29 30 #ifndef __WiaVideo_FWD_DEFINED__ 31 #define __WiaVideo_FWD_DEFINED__ 32 #ifdef __cplusplus 33 typedef class WiaVideo WiaVideo; 34 #else 35 typedef struct WiaVideo WiaVideo; 36 #endif 37 #endif 38 39 #include "oaidl.h" 40 #include "ocidl.h" 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 #ifndef __MIDL_user_allocate_free_DEFINED__ 47 #define __MIDL_user_allocate_free_DEFINED__ 48 void *__RPC_API MIDL_user_allocate(size_t); 49 void __RPC_API MIDL_user_free(void *); 50 #endif 51 52 typedef enum __MIDL___MIDL_itf_wiavideo_0000_0001 { 53 WIAVIDEO_NO_VIDEO = 1,WIAVIDEO_CREATING_VIDEO = 2,WIAVIDEO_VIDEO_CREATED = 3,WIAVIDEO_VIDEO_PLAYING = 4,WIAVIDEO_VIDEO_PAUSED = 5, 54 WIAVIDEO_DESTROYING_VIDEO = 6 55 } WIAVIDEO_STATE; 56 57 extern RPC_IF_HANDLE __MIDL_itf_wiavideo_0000_v0_0_c_ifspec; 58 extern RPC_IF_HANDLE __MIDL_itf_wiavideo_0000_v0_0_s_ifspec; 59 #ifndef __IWiaVideo_INTERFACE_DEFINED__ 60 #define __IWiaVideo_INTERFACE_DEFINED__ 61 EXTERN_C const IID IID_IWiaVideo; 62 #if defined(__cplusplus) && !defined(CINTERFACE) 63 struct IWiaVideo : public IUnknown { 64 public: 65 virtual HRESULT WINAPI get_PreviewVisible(WINBOOL *pbPreviewVisible) = 0; 66 virtual HRESULT WINAPI put_PreviewVisible(WINBOOL bPreviewVisible) = 0; 67 virtual HRESULT WINAPI get_ImagesDirectory(BSTR *pbstrImageDirectory) = 0; 68 virtual HRESULT WINAPI put_ImagesDirectory(BSTR bstrImageDirectory) = 0; 69 virtual HRESULT WINAPI CreateVideoByWiaDevID(BSTR bstrWiaDeviceID,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback) = 0; 70 virtual HRESULT WINAPI CreateVideoByDevNum(UINT uiDeviceNumber,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback) = 0; 71 virtual HRESULT WINAPI CreateVideoByName(BSTR bstrFriendlyName,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback) = 0; 72 virtual HRESULT WINAPI DestroyVideo(void) = 0; 73 virtual HRESULT WINAPI Play(void) = 0; 74 virtual HRESULT WINAPI Pause(void) = 0; 75 virtual HRESULT WINAPI TakePicture(BSTR *pbstrNewImageFilename) = 0; 76 virtual HRESULT WINAPI ResizeVideo(WINBOOL bStretchToFitParent) = 0; 77 virtual HRESULT WINAPI GetCurrentState(WIAVIDEO_STATE *pState) = 0; 78 }; 79 #else 80 typedef struct IWiaVideoVtbl { 81 BEGIN_INTERFACE 82 HRESULT (WINAPI *QueryInterface)(IWiaVideo *This,REFIID riid,void **ppvObject); 83 ULONG (WINAPI *AddRef)(IWiaVideo *This); 84 ULONG (WINAPI *Release)(IWiaVideo *This); 85 HRESULT (WINAPI *get_PreviewVisible)(IWiaVideo *This,WINBOOL *pbPreviewVisible); 86 HRESULT (WINAPI *put_PreviewVisible)(IWiaVideo *This,WINBOOL bPreviewVisible); 87 HRESULT (WINAPI *get_ImagesDirectory)(IWiaVideo *This,BSTR *pbstrImageDirectory); 88 HRESULT (WINAPI *put_ImagesDirectory)(IWiaVideo *This,BSTR bstrImageDirectory); 89 HRESULT (WINAPI *CreateVideoByWiaDevID)(IWiaVideo *This,BSTR bstrWiaDeviceID,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); 90 HRESULT (WINAPI *CreateVideoByDevNum)(IWiaVideo *This,UINT uiDeviceNumber,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); 91 HRESULT (WINAPI *CreateVideoByName)(IWiaVideo *This,BSTR bstrFriendlyName,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); 92 HRESULT (WINAPI *DestroyVideo)(IWiaVideo *This); 93 HRESULT (WINAPI *Play)(IWiaVideo *This); 94 HRESULT (WINAPI *Pause)(IWiaVideo *This); 95 HRESULT (WINAPI *TakePicture)(IWiaVideo *This,BSTR *pbstrNewImageFilename); 96 HRESULT (WINAPI *ResizeVideo)(IWiaVideo *This,WINBOOL bStretchToFitParent); 97 HRESULT (WINAPI *GetCurrentState)(IWiaVideo *This,WIAVIDEO_STATE *pState); 98 END_INTERFACE 99 } IWiaVideoVtbl; 100 struct IWiaVideo { 101 CONST_VTBL struct IWiaVideoVtbl *lpVtbl; 102 }; 103 #ifdef COBJMACROS 104 #define IWiaVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 105 #define IWiaVideo_AddRef(This) (This)->lpVtbl->AddRef(This) 106 #define IWiaVideo_Release(This) (This)->lpVtbl->Release(This) 107 #define IWiaVideo_get_PreviewVisible(This,pbPreviewVisible) (This)->lpVtbl->get_PreviewVisible(This,pbPreviewVisible) 108 #define IWiaVideo_put_PreviewVisible(This,bPreviewVisible) (This)->lpVtbl->put_PreviewVisible(This,bPreviewVisible) 109 #define IWiaVideo_get_ImagesDirectory(This,pbstrImageDirectory) (This)->lpVtbl->get_ImagesDirectory(This,pbstrImageDirectory) 110 #define IWiaVideo_put_ImagesDirectory(This,bstrImageDirectory) (This)->lpVtbl->put_ImagesDirectory(This,bstrImageDirectory) 111 #define IWiaVideo_CreateVideoByWiaDevID(This,bstrWiaDeviceID,hwndParent,bStretchToFitParent,bAutoBeginPlayback) (This)->lpVtbl->CreateVideoByWiaDevID(This,bstrWiaDeviceID,hwndParent,bStretchToFitParent,bAutoBeginPlayback) 112 #define IWiaVideo_CreateVideoByDevNum(This,uiDeviceNumber,hwndParent,bStretchToFitParent,bAutoBeginPlayback) (This)->lpVtbl->CreateVideoByDevNum(This,uiDeviceNumber,hwndParent,bStretchToFitParent,bAutoBeginPlayback) 113 #define IWiaVideo_CreateVideoByName(This,bstrFriendlyName,hwndParent,bStretchToFitParent,bAutoBeginPlayback) (This)->lpVtbl->CreateVideoByName(This,bstrFriendlyName,hwndParent,bStretchToFitParent,bAutoBeginPlayback) 114 #define IWiaVideo_DestroyVideo(This) (This)->lpVtbl->DestroyVideo(This) 115 #define IWiaVideo_Play(This) (This)->lpVtbl->Play(This) 116 #define IWiaVideo_Pause(This) (This)->lpVtbl->Pause(This) 117 #define IWiaVideo_TakePicture(This,pbstrNewImageFilename) (This)->lpVtbl->TakePicture(This,pbstrNewImageFilename) 118 #define IWiaVideo_ResizeVideo(This,bStretchToFitParent) (This)->lpVtbl->ResizeVideo(This,bStretchToFitParent) 119 #define IWiaVideo_GetCurrentState(This,pState) (This)->lpVtbl->GetCurrentState(This,pState) 120 #endif 121 #endif 122 HRESULT WINAPI IWiaVideo_get_PreviewVisible_Proxy(IWiaVideo *This,WINBOOL *pbPreviewVisible); 123 void __RPC_STUB IWiaVideo_get_PreviewVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 124 HRESULT WINAPI IWiaVideo_put_PreviewVisible_Proxy(IWiaVideo *This,WINBOOL bPreviewVisible); 125 void __RPC_STUB IWiaVideo_put_PreviewVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 126 HRESULT WINAPI IWiaVideo_get_ImagesDirectory_Proxy(IWiaVideo *This,BSTR *pbstrImageDirectory); 127 void __RPC_STUB IWiaVideo_get_ImagesDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 128 HRESULT WINAPI IWiaVideo_put_ImagesDirectory_Proxy(IWiaVideo *This,BSTR bstrImageDirectory); 129 void __RPC_STUB IWiaVideo_put_ImagesDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 130 HRESULT WINAPI IWiaVideo_CreateVideoByWiaDevID_Proxy(IWiaVideo *This,BSTR bstrWiaDeviceID,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); 131 void __RPC_STUB IWiaVideo_CreateVideoByWiaDevID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 132 HRESULT WINAPI IWiaVideo_CreateVideoByDevNum_Proxy(IWiaVideo *This,UINT uiDeviceNumber,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); 133 void __RPC_STUB IWiaVideo_CreateVideoByDevNum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 134 HRESULT WINAPI IWiaVideo_CreateVideoByName_Proxy(IWiaVideo *This,BSTR bstrFriendlyName,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); 135 void __RPC_STUB IWiaVideo_CreateVideoByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 136 HRESULT WINAPI IWiaVideo_DestroyVideo_Proxy(IWiaVideo *This); 137 void __RPC_STUB IWiaVideo_DestroyVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 138 HRESULT WINAPI IWiaVideo_Play_Proxy(IWiaVideo *This); 139 void __RPC_STUB IWiaVideo_Play_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 140 HRESULT WINAPI IWiaVideo_Pause_Proxy(IWiaVideo *This); 141 void __RPC_STUB IWiaVideo_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 142 HRESULT WINAPI IWiaVideo_TakePicture_Proxy(IWiaVideo *This,BSTR *pbstrNewImageFilename); 143 void __RPC_STUB IWiaVideo_TakePicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 144 HRESULT WINAPI IWiaVideo_ResizeVideo_Proxy(IWiaVideo *This,WINBOOL bStretchToFitParent); 145 void __RPC_STUB IWiaVideo_ResizeVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 146 HRESULT WINAPI IWiaVideo_GetCurrentState_Proxy(IWiaVideo *This,WIAVIDEO_STATE *pState); 147 void __RPC_STUB IWiaVideo_GetCurrentState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 148 #endif 149 150 #ifndef __WIAVIDEOLib_LIBRARY_DEFINED__ 151 #define __WIAVIDEOLib_LIBRARY_DEFINED__ 152 EXTERN_C const IID LIBID_WIAVIDEOLib; 153 EXTERN_C const CLSID CLSID_WiaVideo; 154 #ifdef __cplusplus 155 class WiaVideo; 156 #endif 157 #endif 158 159 ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); 160 unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); 161 unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); 162 void __RPC_API BSTR_UserFree(ULONG *,BSTR *); 163 ULONG __RPC_API HWND_UserSize(ULONG *,ULONG,HWND *); 164 unsigned char *__RPC_API HWND_UserMarshal(ULONG *,unsigned char *,HWND *); 165 unsigned char *__RPC_API HWND_UserUnmarshal(ULONG *,unsigned char *,HWND *); 166 void __RPC_API HWND_UserFree(ULONG *,HWND *); 167 168 #ifdef __cplusplus 169 } 170 #endif 171 #endif 172