inetsmgr.h
资源名称:shell.rar [点击查看]
上传用户:xhy777
上传日期:2007-02-14
资源大小:24088k
文件大小:2k
源码类别:
系统编程
开发平台:
Visual C++
- #if !defined(_INETSMGR_H_)
- #define _INETSMGR_H_
- // whoever inherits this class must implement _IsSafeSite
- class CInternetSecurityMgrImpl : public IInternetSecurityManager
- {
- public:
- // *** IUnknown ***
- // (client must provide!)
- // *** IInternetSecurityManager methods ***
- virtual STDMETHODIMP MapUrlToZone(LPCWSTR pwszUrl, DWORD *pdwZone, DWORD dwReserved)
- {
- return INET_E_DEFAULT_ACTION;
- }
- virtual STDMETHODIMP GetSecurityId(LPCWSTR pwszUrl, BYTE* pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved)
- {
- return INET_E_DEFAULT_ACTION;
- }
- virtual STDMETHODIMP ProcessUrlAction(LPCWSTR pwszUrl, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy,
- BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved)
- {
- HRESULT hres = INET_E_DEFAULT_ACTION;
- if (_IsSafeUrl(pwszUrl))
- {
- if (cbPolicy >= SIZEOF(DWORD))
- {
- *(DWORD *)pPolicy = URLPOLICY_ALLOW;
- hres = S_OK;
- }
- else
- hres = S_FALSE;
- }
- return hres;
- }
- virtual STDMETHODIMP QueryCustomPolicy(LPCWSTR pwszUrl, REFGUID guidKey, BYTE **ppPolicy, DWORD *pcbPolicy,
- BYTE *pContext, DWORD cbContext, DWORD dwReserved)
- {
- return INET_E_DEFAULT_ACTION;
- }
- virtual STDMETHODIMP SetSecuritySite(IInternetSecurityMgrSite *pSite)
- {
- return INET_E_DEFAULT_ACTION;
- }
- virtual STDMETHODIMP GetSecuritySite(IInternetSecurityMgrSite **ppSite)
- {
- return INET_E_DEFAULT_ACTION;
- }
- virtual STDMETHODIMP SetZoneMapping(DWORD dwZone, LPCWSTR lpszPattern, DWORD dwFlags)
- {
- return INET_E_DEFAULT_ACTION;
- }
- virtual STDMETHODIMP GetZoneMappings(DWORD dwZone, IEnumString **ppEnumString, DWORD dwFlags)
- {
- return INET_E_DEFAULT_ACTION;
- }
- protected:
- virtual BOOL _IsSafeUrl(LPCWSTR pwszUrl) = 0;
- };
- #endif
English
