msoav.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
- #pragma once
- #ifndef _MSOAV_H
- #define _MSOAV_H
- typedef struct _msoavinfo
- {
- int cbsize; //size of this struct
- struct {
- ULONG fPath:1; //when true use pwzFullPath else use lpstg
- ULONG fReadOnlyRequest:1; //user requests file to be opened read/only
- ULONG fInstalled:1; //the file at pwzFullPath is an installed file
- ULONG fHttpDownload:1; //the file at pwzFullPath is a temp file downloaded from http/ftp
- };
- HWND hwnd; //parent window of the Office9 app
- union {
- WCHAR *pwzFullPath; //full path to the file about to be opened
- LPSTORAGE lpstg; //OLE Storage of the doc about to be opened
- }u;
- WCHAR *pwzHostName; // Host Office 9 apps name
- WCHAR *pwzOrigURL; // URL of the origin of this downloaded file.
- }MSOAVINFO;
- // {56FFCC30-D398-11d0-B2AE-00A0C908FA49}
- DEFINE_GUID(IID_IOfficeAntiVirus,
- 0x56ffcc30, 0xd398, 0x11d0, 0xb2, 0xae, 0x0, 0xa0, 0xc9, 0x8, 0xfa, 0x49);
- // {56FFCC31-D398-11d0-B2AE-00A0C908FA49}
- 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
- // *** IUnknown methods ***
- STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef)(THIS) PURE;
- STDMETHOD_(ULONG, Release)(THIS) PURE;
- // *** IOfficeAntiVirus methods ***
- STDMETHOD_(HRESULT, Scan)(THIS_ MSOAVINFO *pmsoavinfo ) PURE;
- };
- #ifndef AVVENDOR
- MSOAPI_(BOOL) MsoFAnyAntiVirus(HMSOINST hmsoinst);
- MSOAPI_(BOOL) MsoFDoAntiVirusScan(HMSOINST hmsoinst, MSOAVINFO *msoavinfo);
- MSOAPI_(void) MsoFreeMsoavStuff(HMSOINST hmsoinst);
- MSOAPI_(BOOL) MsoFDoSecurityLevelDlg(HMSOINST hmsoinst,DWORD msorid, int *pSecurityLevel,
- BOOL *pfTrustInstalled, HWND hwndParent, BOOL fShowVirusCheckers,
- WCHAR *wzHelpFile, DWORD dwHelpId);
- //output of the Enable/disable macro (edm) dialog
- #define msoedmEnable 1
- #define msoedmDisable 2
- #define msoedmDontOpen 3
- MSOAPI_(int) MsoMsoedmDialog(HMSOINST hmsoinst, BOOL fAppIsActive, BOOL fHasVBMacros,
- BOOL fHasXLMMacros, void *pvDigSigStore, void *pvMacro, int nAppID, HWND hwnd,
- const WCHAR *pwtzPath, int iClient, int iSecurityLevel, int *pmsodsv,
- WCHAR *wzHelpFile, DWORD dwHelpId, HANDLE hFileDLL, BOOL fUserControl);
- //Security level
- #define msoslUndefined 0
- #define msoslNone 1
- #define msoslMedium 2
- #define msoslHigh 3
- MSOAPI_(int) MsoMsoslGetSL(HMSOINST hmsoinst);
- MSOAPI_(int) MsoMsoslSetSL(DWORD msorid, HMSOINST hmsoinst);
- //output of the digital signature verification (dsv)
- #define msodsvNoMacros 0
- #define msodsvUnsigned 1
- // msodsvPassedTrusted is very unfortunately named because it has nothing to do with
- // trust - it just means that the doc is signed and the signature matched. Too late
- // to change the name now so I'm adding a msodsvPassedTrustedCert to mean the doc was
- // signed and cert was trusted.
- #define msodsvPassedTrusted 2
- #define msodsvFailed 3
- #define msodsvLowSecurityLevel 4
- #define msodsvPassedTrustedCert 5
- #endif //!AVVENDOR
- #endif // _MSOAV_H