wiavideo.h 10 KB

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