/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _MSOAV_H
#define _MSOAV_H
typedef struct _msoavinfo {
int cbsize;
struct {
ULONG fPath:1;
ULONG fReadOnlyRequest:1;
ULONG fInstalled:1;
ULONG fHttpDownload:1;
};
HWND hwnd;
union {
WCHAR *pwzFullPath;
LPSTORAGE lpstg;
} u;
WCHAR *pwzHostName;
WCHAR *pwzOrigURL;
} MSOAVINFO;
DEFINE_GUID(IID_IOfficeAntiVirus,0x56ffcc30,0xd398,0x11d0,0xb2,0xae,0x0,0xa0,0xc9,0x8,0xfa,0x49);
DEFINE_GUID(CATID_MSOfficeAntiVirus,0x56ffcc30,0xd398,0x11d0,0xb2,0xae,0x0,0xa0,0xc9,0x8,0xfa,0x49);
#undef INTERFACE
#define INTERFACE IOfficeAntiVirus
DECLARE_INTERFACE_(IOfficeAntiVirus,IUnknown) {
BEGIN_INTERFACE
STDMETHOD(QueryInterface)(THIS_ REFIID riid,LPVOID *ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD_(HRESULT,Scan)(THIS_ MSOAVINFO *pmsoavinfo) PURE;
};
#ifndef AVVENDOR
MSOAPI_(WINBOOL) MsoFAnyAntiVirus(HMSOINST hmsoinst);
MSOAPI_(WINBOOL) MsoFDoAntiVirusScan(HMSOINST hmsoinst,MSOAVINFO *msoavinfo);
MSOAPI_(void) MsoFreeMsoavStuff(HMSOINST hmsoinst);
MSOAPI_(WINBOOL) MsoFDoSecurityLevelDlg(HMSOINST hmsoinst,DWORD msorid,int *pSecurityLevel,WINBOOL *pfTrustInstalled,HWND hwndParent,WINBOOL fShowVirusCheckers,WCHAR *wzHelpFile,DWORD dwHelpId);
#define msoedmEnable 1
#define msoedmDisable 2
#define msoedmDontOpen 3
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);
#define msoslUndefined 0
#define msoslNone 1
#define msoslMedium 2
#define msoslHigh 3
MSOAPI_(int) MsoMsoslGetSL(HMSOINST hmsoinst);
MSOAPI_(int) MsoMsoslSetSL(DWORD msorid,HMSOINST hmsoinst);
#define msodsvNoMacros 0
#define msodsvUnsigned 1
#define msodsvPassedTrusted 2
#define msodsvFailed 3
#define msodsvLowSecurityLevel 4
#define msodsvPassedTrustedCert 5
#endif
#endif