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 _MSOAV_H
7 #define _MSOAV_H
8
9 typedef struct _msoavinfo {
10 int cbsize;
11 struct {
12 ULONG fPath:1;
13 ULONG fReadOnlyRequest:1;
14 ULONG fInstalled:1;
15 ULONG fHttpDownload:1;
16 };
17 HWND hwnd;
18 union {
19 WCHAR *pwzFullPath;
20 LPSTORAGE lpstg;
21 } u;
22 WCHAR *pwzHostName;
23 WCHAR *pwzOrigURL;
24 } MSOAVINFO;
25
26 DEFINE_GUID(IID_IOfficeAntiVirus,0x56ffcc30,0xd398,0x11d0,0xb2,0xae,0x0,0xa0,0xc9,0x8,0xfa,0x49);
27 DEFINE_GUID(CATID_MSOfficeAntiVirus,0x56ffcc30,0xd398,0x11d0,0xb2,0xae,0x0,0xa0,0xc9,0x8,0xfa,0x49);
28
29 #undef INTERFACE
30 #define INTERFACE IOfficeAntiVirus
DECLARE_INTERFACE_(IOfficeAntiVirus,IUnknown)31 DECLARE_INTERFACE_(IOfficeAntiVirus,IUnknown) {
32 BEGIN_INTERFACE
33 STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
34 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
35 STDMETHOD_(ULONG,Release)(THIS) PURE;
36 STDMETHOD_(HRESULT,Scan)(THIS_ MSOAVINFO *pmsoavinfo) PURE;
37 };
38
39 #ifndef AVVENDOR
40 MSOAPI_(WINBOOL) MsoFAnyAntiVirus(HMSOINST hmsoinst);
41 MSOAPI_(WINBOOL) MsoFDoAntiVirusScan(HMSOINST hmsoinst,MSOAVINFO *msoavinfo);
42 MSOAPI_(void) MsoFreeMsoavStuff(HMSOINST hmsoinst);
43 MSOAPI_(WINBOOL) MsoFDoSecurityLevelDlg(HMSOINST hmsoinst,DWORD msorid,int *pSecurityLevel,WINBOOL *pfTrustInstalled,HWND hwndParent,WINBOOL fShowVirusCheckers,WCHAR *wzHelpFile,DWORD dwHelpId);
44
45 #define msoedmEnable 1
46 #define msoedmDisable 2
47 #define msoedmDontOpen 3
48
49 MSOAPI_(int) MsoMsoedmDialog(HMSOINST hmsoinst,WINBOOL fAppIsActive,WINBOOL fHasVBMacros,WINBOOL fHasXLMMacros,void *pvDigSigStore,void *pvMacro,int nAppID,HWND hwnd,const WCHAR *pwtzPath,int iClient,int iSecurityLevel,int *pmsodsv,WCHAR *wzHelpFile,DWORD dwHelpId,HANDLE hFileDLL,WINBOOL fUserControl);
50
51 #define msoslUndefined 0
52 #define msoslNone 1
53 #define msoslMedium 2
54 #define msoslHigh 3
55
56 MSOAPI_(int) MsoMsoslGetSL(HMSOINST hmsoinst);
57 MSOAPI_(int) MsoMsoslSetSL(DWORD msorid,HMSOINST hmsoinst);
58
59 #define msodsvNoMacros 0
60 #define msodsvUnsigned 1
61
62 #define msodsvPassedTrusted 2
63 #define msodsvFailed 3
64 #define msodsvLowSecurityLevel 4
65 #define msodsvPassedTrustedCert 5
66 #endif
67
68 #endif
69