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 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