Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

518 lines
14 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for vrsscan.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __vrsscan_h__
  20. #define __vrsscan_h__
  21. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  22. #pragma once
  23. #endif
  24. /* Forward Declarations */
  25. #ifndef __IVirusScanner_FWD_DEFINED__
  26. #define __IVirusScanner_FWD_DEFINED__
  27. typedef interface IVirusScanner IVirusScanner;
  28. #endif /* __IVirusScanner_FWD_DEFINED__ */
  29. #ifndef __IRegisterVirusScanEngine_FWD_DEFINED__
  30. #define __IRegisterVirusScanEngine_FWD_DEFINED__
  31. typedef interface IRegisterVirusScanEngine IRegisterVirusScanEngine;
  32. #endif /* __IRegisterVirusScanEngine_FWD_DEFINED__ */
  33. #ifndef __IVirusScanEngine_FWD_DEFINED__
  34. #define __IVirusScanEngine_FWD_DEFINED__
  35. typedef interface IVirusScanEngine IVirusScanEngine;
  36. #endif /* __IVirusScanEngine_FWD_DEFINED__ */
  37. #ifndef __VirusScan_FWD_DEFINED__
  38. #define __VirusScan_FWD_DEFINED__
  39. #ifdef __cplusplus
  40. typedef class VirusScan VirusScan;
  41. #else
  42. typedef struct VirusScan VirusScan;
  43. #endif /* __cplusplus */
  44. #endif /* __VirusScan_FWD_DEFINED__ */
  45. /* header files for imported files */
  46. #include "objidl.h"
  47. #include "oleidl.h"
  48. #ifdef __cplusplus
  49. extern "C"{
  50. #endif
  51. void * __RPC_USER MIDL_user_allocate(size_t);
  52. void __RPC_USER MIDL_user_free( void * );
  53. /* interface __MIDL_itf_vrsscan_0000 */
  54. /* [local] */
  55. extern RPC_IF_HANDLE __MIDL_itf_vrsscan_0000_v0_0_c_ifspec;
  56. extern RPC_IF_HANDLE __MIDL_itf_vrsscan_0000_v0_0_s_ifspec;
  57. #ifndef __VIRUSSCAN_LIBRARY_DEFINED__
  58. #define __VIRUSSCAN_LIBRARY_DEFINED__
  59. /* library VIRUSSCAN */
  60. /* [version][lcid][helpstring][uuid] */
  61. // Virus Scan Error codes
  62. #define VSCAN_E_NOPROVIDERS _HRESULT_TYPEDEF_(0x800D1001)
  63. #define VSCAN_E_CHECKPARTIAL _HRESULT_TYPEDEF_(0x800D1002)
  64. #define VSCAN_E_CHECKFAIL _HRESULT_TYPEDEF_(0x800D1003)
  65. #define VSCAN_E_DELETEFAIL _HRESULT_TYPEDEF_(0x800D1004)
  66. // Virus Scanner Capabilities flags
  67. #define VSC_LIKESISTREAM 0x00000001
  68. #define VSC_LIKESFILE 0x00000002
  69. #define VSC_LIKESHGLOBAL 0x00000004
  70. #define VSC_HASMOREINFO 0x00000008
  71. // Virus Scan Engine Error codes
  72. #define VSE_E_UNSUPPORTEDINPUTTYPE _HRESULT_TYPEDEF_(0x800D2001)
  73. #define VSE_E_CHECKFAIL _HRESULT_TYPEDEF_(0x800D2002)
  74. #define MAX_DESCRIPTION ( 128 )
  75. #define MAX_URL_LENGTH ( 2048 )
  76. typedef struct _tagVIRUSINFO
  77. {
  78. DWORD cbSize;
  79. WCHAR wszVendorDescription[ 128 ];
  80. HICON hVendorIcon;
  81. WCHAR wszVendorContactInfo[ 2048 ];
  82. WCHAR wszVirusName[ 128 ];
  83. WCHAR wszVirusDescription[ 128 ];
  84. } VIRUSINFO;
  85. typedef /* [unique] */ VIRUSINFO *LPVIRUSINFO;
  86. #define SFV_DONTDOUI 0x00000002
  87. #define SFV_DELETE 0x00000004
  88. #define SFV_WANTVENDORICON 0x00000008
  89. #define SFV_ENGINE_DOUI 0x00010000
  90. #define REGISTERSCANNER_REREGISTER 1
  91. EXTERN_C const IID LIBID_VIRUSSCAN;
  92. #ifndef __IVirusScanner_INTERFACE_DEFINED__
  93. #define __IVirusScanner_INTERFACE_DEFINED__
  94. /* interface IVirusScanner */
  95. /* [uuid][object][local] */
  96. EXTERN_C const IID IID_IVirusScanner;
  97. #if defined(__cplusplus) && !defined(CINTERFACE)
  98. MIDL_INTERFACE("4589BEE0-B4B1-11CF-AAFA-00AA00B6015C")
  99. IVirusScanner : public IUnknown
  100. {
  101. public:
  102. virtual HRESULT STDMETHODCALLTYPE ScanForVirus(
  103. /* [in] */ HWND hWnd,
  104. /* [in] */ STGMEDIUM *pstgMedium,
  105. /* [in] */ LPWSTR pwszItemDescription,
  106. /* [in] */ DWORD dwFlags,
  107. /* [out][in] */ LPVIRUSINFO pVirusInfo) = 0;
  108. };
  109. #else /* C style interface */
  110. typedef struct IVirusScannerVtbl
  111. {
  112. BEGIN_INTERFACE
  113. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  114. IVirusScanner * This,
  115. /* [in] */ REFIID riid,
  116. /* [iid_is][out] */ void **ppvObject);
  117. ULONG ( STDMETHODCALLTYPE *AddRef )(
  118. IVirusScanner * This);
  119. ULONG ( STDMETHODCALLTYPE *Release )(
  120. IVirusScanner * This);
  121. HRESULT ( STDMETHODCALLTYPE *ScanForVirus )(
  122. IVirusScanner * This,
  123. /* [in] */ HWND hWnd,
  124. /* [in] */ STGMEDIUM *pstgMedium,
  125. /* [in] */ LPWSTR pwszItemDescription,
  126. /* [in] */ DWORD dwFlags,
  127. /* [out][in] */ LPVIRUSINFO pVirusInfo);
  128. END_INTERFACE
  129. } IVirusScannerVtbl;
  130. interface IVirusScanner
  131. {
  132. CONST_VTBL struct IVirusScannerVtbl *lpVtbl;
  133. };
  134. #ifdef COBJMACROS
  135. #define IVirusScanner_QueryInterface(This,riid,ppvObject) \
  136. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  137. #define IVirusScanner_AddRef(This) \
  138. (This)->lpVtbl -> AddRef(This)
  139. #define IVirusScanner_Release(This) \
  140. (This)->lpVtbl -> Release(This)
  141. #define IVirusScanner_ScanForVirus(This,hWnd,pstgMedium,pwszItemDescription,dwFlags,pVirusInfo) \
  142. (This)->lpVtbl -> ScanForVirus(This,hWnd,pstgMedium,pwszItemDescription,dwFlags,pVirusInfo)
  143. #endif /* COBJMACROS */
  144. #endif /* C style interface */
  145. HRESULT STDMETHODCALLTYPE IVirusScanner_ScanForVirus_Proxy(
  146. IVirusScanner * This,
  147. /* [in] */ HWND hWnd,
  148. /* [in] */ STGMEDIUM *pstgMedium,
  149. /* [in] */ LPWSTR pwszItemDescription,
  150. /* [in] */ DWORD dwFlags,
  151. /* [out][in] */ LPVIRUSINFO pVirusInfo);
  152. void __RPC_STUB IVirusScanner_ScanForVirus_Stub(
  153. IRpcStubBuffer *This,
  154. IRpcChannelBuffer *_pRpcChannelBuffer,
  155. PRPC_MESSAGE _pRpcMessage,
  156. DWORD *_pdwStubPhase);
  157. #endif /* __IVirusScanner_INTERFACE_DEFINED__ */
  158. #ifndef __IRegisterVirusScanEngine_INTERFACE_DEFINED__
  159. #define __IRegisterVirusScanEngine_INTERFACE_DEFINED__
  160. /* interface IRegisterVirusScanEngine */
  161. /* [uuid][object][local] */
  162. EXTERN_C const IID IID_IRegisterVirusScanEngine;
  163. #if defined(__cplusplus) && !defined(CINTERFACE)
  164. MIDL_INTERFACE("0825E060-B961-11CF-AAFA-00AA00B6015C")
  165. IRegisterVirusScanEngine : public IUnknown
  166. {
  167. public:
  168. virtual HRESULT STDMETHODCALLTYPE RegisterScanEngine(
  169. /* [in] */ REFCLSID rclsid,
  170. /* [in] */ LPWSTR pwszDescription,
  171. /* [in] */ DWORD dwFlags,
  172. /* [in] */ DWORD dwReserved,
  173. /* [out][in] */ DWORD *pdwCookie) = 0;
  174. virtual HRESULT STDMETHODCALLTYPE UnRegisterScanEngine(
  175. /* [in] */ REFCLSID rclsid,
  176. /* [in] */ LPWSTR pwszDescription,
  177. /* [in] */ DWORD dwFlags,
  178. /* [in] */ DWORD dwReserved,
  179. /* [in] */ DWORD dwCookie) = 0;
  180. };
  181. #else /* C style interface */
  182. typedef struct IRegisterVirusScanEngineVtbl
  183. {
  184. BEGIN_INTERFACE
  185. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  186. IRegisterVirusScanEngine * This,
  187. /* [in] */ REFIID riid,
  188. /* [iid_is][out] */ void **ppvObject);
  189. ULONG ( STDMETHODCALLTYPE *AddRef )(
  190. IRegisterVirusScanEngine * This);
  191. ULONG ( STDMETHODCALLTYPE *Release )(
  192. IRegisterVirusScanEngine * This);
  193. HRESULT ( STDMETHODCALLTYPE *RegisterScanEngine )(
  194. IRegisterVirusScanEngine * This,
  195. /* [in] */ REFCLSID rclsid,
  196. /* [in] */ LPWSTR pwszDescription,
  197. /* [in] */ DWORD dwFlags,
  198. /* [in] */ DWORD dwReserved,
  199. /* [out][in] */ DWORD *pdwCookie);
  200. HRESULT ( STDMETHODCALLTYPE *UnRegisterScanEngine )(
  201. IRegisterVirusScanEngine * This,
  202. /* [in] */ REFCLSID rclsid,
  203. /* [in] */ LPWSTR pwszDescription,
  204. /* [in] */ DWORD dwFlags,
  205. /* [in] */ DWORD dwReserved,
  206. /* [in] */ DWORD dwCookie);
  207. END_INTERFACE
  208. } IRegisterVirusScanEngineVtbl;
  209. interface IRegisterVirusScanEngine
  210. {
  211. CONST_VTBL struct IRegisterVirusScanEngineVtbl *lpVtbl;
  212. };
  213. #ifdef COBJMACROS
  214. #define IRegisterVirusScanEngine_QueryInterface(This,riid,ppvObject) \
  215. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  216. #define IRegisterVirusScanEngine_AddRef(This) \
  217. (This)->lpVtbl -> AddRef(This)
  218. #define IRegisterVirusScanEngine_Release(This) \
  219. (This)->lpVtbl -> Release(This)
  220. #define IRegisterVirusScanEngine_RegisterScanEngine(This,rclsid,pwszDescription,dwFlags,dwReserved,pdwCookie) \
  221. (This)->lpVtbl -> RegisterScanEngine(This,rclsid,pwszDescription,dwFlags,dwReserved,pdwCookie)
  222. #define IRegisterVirusScanEngine_UnRegisterScanEngine(This,rclsid,pwszDescription,dwFlags,dwReserved,dwCookie) \
  223. (This)->lpVtbl -> UnRegisterScanEngine(This,rclsid,pwszDescription,dwFlags,dwReserved,dwCookie)
  224. #endif /* COBJMACROS */
  225. #endif /* C style interface */
  226. HRESULT STDMETHODCALLTYPE IRegisterVirusScanEngine_RegisterScanEngine_Proxy(
  227. IRegisterVirusScanEngine * This,
  228. /* [in] */ REFCLSID rclsid,
  229. /* [in] */ LPWSTR pwszDescription,
  230. /* [in] */ DWORD dwFlags,
  231. /* [in] */ DWORD dwReserved,
  232. /* [out][in] */ DWORD *pdwCookie);
  233. void __RPC_STUB IRegisterVirusScanEngine_RegisterScanEngine_Stub(
  234. IRpcStubBuffer *This,
  235. IRpcChannelBuffer *_pRpcChannelBuffer,
  236. PRPC_MESSAGE _pRpcMessage,
  237. DWORD *_pdwStubPhase);
  238. HRESULT STDMETHODCALLTYPE IRegisterVirusScanEngine_UnRegisterScanEngine_Proxy(
  239. IRegisterVirusScanEngine * This,
  240. /* [in] */ REFCLSID rclsid,
  241. /* [in] */ LPWSTR pwszDescription,
  242. /* [in] */ DWORD dwFlags,
  243. /* [in] */ DWORD dwReserved,
  244. /* [in] */ DWORD dwCookie);
  245. void __RPC_STUB IRegisterVirusScanEngine_UnRegisterScanEngine_Stub(
  246. IRpcStubBuffer *This,
  247. IRpcChannelBuffer *_pRpcChannelBuffer,
  248. PRPC_MESSAGE _pRpcMessage,
  249. DWORD *_pdwStubPhase);
  250. #endif /* __IRegisterVirusScanEngine_INTERFACE_DEFINED__ */
  251. #ifndef __IVirusScanEngine_INTERFACE_DEFINED__
  252. #define __IVirusScanEngine_INTERFACE_DEFINED__
  253. /* interface IVirusScanEngine */
  254. /* [uuid][object][local] */
  255. EXTERN_C const IID IID_IVirusScanEngine;
  256. #if defined(__cplusplus) && !defined(CINTERFACE)
  257. MIDL_INTERFACE("083DB180-B4A8-11CF-AAFA-00AA00B6015C")
  258. IVirusScanEngine : public IUnknown
  259. {
  260. public:
  261. virtual HRESULT STDMETHODCALLTYPE ScanForVirus(
  262. /* [in] */ HWND hWnd,
  263. /* [in] */ STGMEDIUM *pstgMedium,
  264. /* [in] */ LPWSTR pwszItemDescription,
  265. /* [in] */ DWORD dwFlags,
  266. /* [in] */ DWORD dwReserved,
  267. /* [out][in] */ LPVIRUSINFO pVirusInfo) = 0;
  268. virtual HRESULT STDMETHODCALLTYPE DisplayCustomInfo( void) = 0;
  269. };
  270. #else /* C style interface */
  271. typedef struct IVirusScanEngineVtbl
  272. {
  273. BEGIN_INTERFACE
  274. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  275. IVirusScanEngine * This,
  276. /* [in] */ REFIID riid,
  277. /* [iid_is][out] */ void **ppvObject);
  278. ULONG ( STDMETHODCALLTYPE *AddRef )(
  279. IVirusScanEngine * This);
  280. ULONG ( STDMETHODCALLTYPE *Release )(
  281. IVirusScanEngine * This);
  282. HRESULT ( STDMETHODCALLTYPE *ScanForVirus )(
  283. IVirusScanEngine * This,
  284. /* [in] */ HWND hWnd,
  285. /* [in] */ STGMEDIUM *pstgMedium,
  286. /* [in] */ LPWSTR pwszItemDescription,
  287. /* [in] */ DWORD dwFlags,
  288. /* [in] */ DWORD dwReserved,
  289. /* [out][in] */ LPVIRUSINFO pVirusInfo);
  290. HRESULT ( STDMETHODCALLTYPE *DisplayCustomInfo )(
  291. IVirusScanEngine * This);
  292. END_INTERFACE
  293. } IVirusScanEngineVtbl;
  294. interface IVirusScanEngine
  295. {
  296. CONST_VTBL struct IVirusScanEngineVtbl *lpVtbl;
  297. };
  298. #ifdef COBJMACROS
  299. #define IVirusScanEngine_QueryInterface(This,riid,ppvObject) \
  300. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  301. #define IVirusScanEngine_AddRef(This) \
  302. (This)->lpVtbl -> AddRef(This)
  303. #define IVirusScanEngine_Release(This) \
  304. (This)->lpVtbl -> Release(This)
  305. #define IVirusScanEngine_ScanForVirus(This,hWnd,pstgMedium,pwszItemDescription,dwFlags,dwReserved,pVirusInfo) \
  306. (This)->lpVtbl -> ScanForVirus(This,hWnd,pstgMedium,pwszItemDescription,dwFlags,dwReserved,pVirusInfo)
  307. #define IVirusScanEngine_DisplayCustomInfo(This) \
  308. (This)->lpVtbl -> DisplayCustomInfo(This)
  309. #endif /* COBJMACROS */
  310. #endif /* C style interface */
  311. HRESULT STDMETHODCALLTYPE IVirusScanEngine_ScanForVirus_Proxy(
  312. IVirusScanEngine * This,
  313. /* [in] */ HWND hWnd,
  314. /* [in] */ STGMEDIUM *pstgMedium,
  315. /* [in] */ LPWSTR pwszItemDescription,
  316. /* [in] */ DWORD dwFlags,
  317. /* [in] */ DWORD dwReserved,
  318. /* [out][in] */ LPVIRUSINFO pVirusInfo);
  319. void __RPC_STUB IVirusScanEngine_ScanForVirus_Stub(
  320. IRpcStubBuffer *This,
  321. IRpcChannelBuffer *_pRpcChannelBuffer,
  322. PRPC_MESSAGE _pRpcMessage,
  323. DWORD *_pdwStubPhase);
  324. HRESULT STDMETHODCALLTYPE IVirusScanEngine_DisplayCustomInfo_Proxy(
  325. IVirusScanEngine * This);
  326. void __RPC_STUB IVirusScanEngine_DisplayCustomInfo_Stub(
  327. IRpcStubBuffer *This,
  328. IRpcChannelBuffer *_pRpcChannelBuffer,
  329. PRPC_MESSAGE _pRpcMessage,
  330. DWORD *_pdwStubPhase);
  331. #endif /* __IVirusScanEngine_INTERFACE_DEFINED__ */
  332. EXTERN_C const CLSID CLSID_VirusScan;
  333. #ifdef __cplusplus
  334. class DECLSPEC_UUID("E88E5DE0-BD3E-11CF-AAFA-00AA00B6015C")
  335. VirusScan;
  336. #endif
  337. #endif /* __VIRUSSCAN_LIBRARY_DEFINED__ */
  338. /* Additional Prototypes for ALL interfaces */
  339. /* end of Additional Prototypes */
  340. #ifdef __cplusplus
  341. }
  342. #endif
  343. #endif