Commit d9ce4cd6 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

- Added stub implementation of IInternetZoneManager interface.

- Added implementation of CoInternetCreateZoneManager function. - Added stub implementation of UrlMkGetSessionOption and corrected declaration of UrlMkSetSessionOption. - Code cleanup.
parent 7c98f011
......@@ -8,7 +8,7 @@
@ stdcall CoInternetCombineUrl(wstr wstr long wstr long ptr long)
@ stdcall CoInternetCompareUrl(wstr wstr long)
@ stdcall CoInternetCreateSecurityManager(ptr ptr long)
@ stub CoInternetCreateZoneManager
@ stdcall CoInternetCreateZoneManager(ptr ptr long)
@ stub CoInternetGetProtocolFlags
@ stub CoInternetGetSecurityUrl
@ stdcall CoInternetGetSession(long ptr long)
......@@ -71,7 +71,7 @@
@ stub URLOpenStreamA
@ stub URLOpenStreamW
@ stub UrlMkBuildVersion
@ stub UrlMkGetSessionOption
@ stdcall UrlMkGetSessionOption(long ptr long ptr long)
@ stdcall UrlMkSetSessionOption(long ptr long long)
@ stub WriteHitLogging
@ stub ZonesReInit
......@@ -101,7 +101,8 @@ struct object_creation_info
static const struct object_creation_info object_creation[] =
{
{ &CLSID_InternetSecurityManager, &SecManagerImpl_Construct }
{ &CLSID_InternetSecurityManager, &SecManagerImpl_Construct },
{ &CLSID_InternetZoneManager, ZoneMgrImpl_Construct }
};
static HRESULT WINAPI
......@@ -240,10 +241,21 @@ HRESULT WINAPI URLMON_DllRegisterServerEx(void)
/**************************************************************************
* UrlMkSetSessionOption (URLMON.@)
*/
HRESULT WINAPI UrlMkSetSessionOption(long lost, LPVOID *splat, long time,
long nosee)
HRESULT WINAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID *pBuffer, DWORD dwBufferLength,
DWORD Reserved)
{
FIXME("(%#lx, %p, %#lx, %#lx): stub\n", lost, splat, time, nosee);
FIXME("(%#lx, %p, %#lx): stub\n", dwOption, pBuffer, dwBufferLength);
return S_OK;
}
/**************************************************************************
* UrlMkGetSessionOption (URLMON.@)
*/
HRESULT WINAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID *pBuffer, DWORD dwBufferLength,
DWORD* pdwBufferLength, DWORD dwReserved)
{
FIXME("(%#lx, %p, %#lx, %p): stub\n", dwOption, pBuffer, dwBufferLength, pdwBufferLength);
return S_OK;
}
......
......@@ -26,7 +26,7 @@
extern HINSTANCE URLMON_hInstance;
extern HRESULT SecManagerImpl_Construct(IUnknown *pUnkOuter, LPVOID *ppobj);
extern HRESULT ZoneMgrImpl_Construct(IUnknown *pUnkOuter, LPVOID *ppobj);
#define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))
......
......@@ -657,8 +657,139 @@ cpp_quote("#define MAX_SIZE_SECURITY_ID 512")
[out] IEnumString **ppenumString,
[in] DWORD dwFlags);
};
cpp_quote("DEFINE_GUID(CLSID_InternetSecurityManager, 0x7b8a2d94, 0x0ac9, 0x11d1, 0x89, 0x6c, 0x00, 0xc0, 0x4f, 0xB6, 0xbf, 0xc4);")
/*****************************************************************************
* IInternetZoneManager interface
*/
[
local,
object,
uuid(79EAC9EF-BAf9-11CE-8C82-00AA004BA90B),
pointer_default(unique)
]
interface IInternetZoneManager : IUnknown
{
typedef [unique] IInternetZoneManager* LPURLZONEMANAGER;
typedef enum tagURLZONE
{
URLZONE_PREDEFINED_MIN = 0,
URLZONE_LOCAL_MACHINE = 0,
URLZONE_INTRANET = 1,
URLZONE_TRUSTED = 2,
URLZONE_INTERNET = 3,
URLZONE_UNTRUSTED = 4,
URLZONE_PREDEFINED_MAX = 999,
URLZONE_USER_MIN = 1000,
URLZONE_USER_MAX = 10000,
} URLZONE;
typedef enum tagURLTEMPLATE
{
URLTEMPLATE_CUSTOM = 0x00000,
URLTEMPLATE_PREDEFINED_MIN = 0x10000,
URLTEMPLATE_LOW = 0x10000,
URLTEMPLATE_MEDIUM = 0x11000,
URLTEMPLATE_HIGH = 0x12000,
URLTEMPLATE_PREDEFINED_MAX = 0x20000,
} URLTEMPLATE ;
typedef enum {
ZAFLAGS_CUSTOM_EDIT = 0x00000001,
ZAFLAGS_ADD_SITES = 0x00000002,
ZAFLAGS_REQUIRE_VERIFICATION = 0x00000004,
ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x00000008,
ZAFLAGS_INCLUDE_INTRANET_SITES = 0x00000010,
ZAFLAGS_NO_UI = 0x00000020,
ZAFLAGS_SUPPORTS_VERIFICATION = 0x00000040,
ZAFLAGS_UNC_AS_INTRANET = 0x00000080,
} ZAFLAGS ;
enum {
MAX_ZONE_PATH = 260,
MAX_ZONE_DESCRIPTION = 200
};
typedef struct _ZONEATTRIBUTES {
ULONG cbSize;
WCHAR szDisplayName[MAX_ZONE_PATH];
WCHAR szDescription[MAX_ZONE_DESCRIPTION];
WCHAR szIconPath[MAX_ZONE_PATH];
DWORD dwTemplateMinLevel;
DWORD dwTemplateRecommended;
DWORD dwTemplateCurrentLevel;
DWORD dwFlags;
} ZONEATTRIBUTES, *LPZONEATTRIBUTES;
typedef enum _URLZONEREG {
URLZONEREG_DEFAULT,
URLZONEREG_HKLM,
URLZONEREG_HKCU
} URLZONEREG;
HRESULT GetZoneAttributes(
[in] DWORD dwZone,
[in, out, unique] ZONEATTRIBUTES* pZoneAttributes);
HRESULT SetZoneAttributes(
[in] DWORD dwZone,
[in] ZONEATTRIBUTES* pZoneAttributes);
HRESULT GetZoneCustomPolicy(
[in] DWORD dwZone,
[in] REFGUID guidKey,
[out] BYTE **ppPolicy,
[out] DWORD* pcbPolicy,
[in] URLZONEREG ulrZoneReg);
HRESULT SetZoneCustomPolicy(
[in] DWORD dwZone,
[in] REFGUID guidKey,
[in] BYTE *ppPolicy,
[in] DWORD pcbPolicy,
[in] URLZONEREG ulrZoneReg);
HRESULT GetZoneActionPolicy(
[in] DWORD dwZone,
[in] DWORD dwAction,
[out] BYTE* pPolicy,
[in] DWORD cbPolicy,
[in] URLZONEREG urlZoneReg);
HRESULT SetZoneActionPolicy(
[in] DWORD dwZone,
[in] DWORD dwAction,
[in] BYTE* pPolicy,
[in] DWORD cbPolicy,
[in] URLZONEREG urlZoneReg);
HRESULT LogAction(
[in] DWORD dwAction,
[in] LPCWSTR pwszUrl,
[in] LPCWSTR pwszText,
[in] DWORD dwLogFlags);
HRESULT CreateZoneEnumerator(
[out] DWORD* pdwEnum,
[out] DWORD* pdwCount,
[in] DWORD dwFlags);
HRESULT GetZoneAt(
[in] DWORD dwEnum,
[in] DWORD dwIndex,
[out] DWORD* pdwZone);
HRESULT DestroyZoneEnumerator(
[in] DWORD dwEnum);
HRESULT CopyTemplatePoliciesToZone(
[in] DWORD dwTemplate,
[in] DWORD dwZone,
[in] DWORD dwReserved);
}
cpp_quote("DEFINE_GUID(CLSID_InternetSecurityManager, 0x7b8a2d94, 0x0ac9, 0x11d1, 0x89, 0x6c, 0x00, 0xc0, 0x4f, 0xB6, 0xbf, 0xc4);")
cpp_quote("DEFINE_GUID(CLSID_InternetZoneManager, 0x7B8A2D95, 0x0AC9, 0x11D1, 0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4);")
cpp_quote("DEFINE_GUID(IID_IAsyncMoniker, 0x79EAC9D3, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);")
cpp_quote("DEFINE_GUID(CLSID_StdURLMoniker, 0x79EAC9E0, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);")
......@@ -698,6 +829,7 @@ cpp_quote("HRESULT WINAPI IsAsyncMoniker(IMoniker* pmk);")
cpp_quote("HRESULT WINAPI CreateAsyncBindCtx(DWORD, IBindStatusCallback*, IEnumFORMATETC*, IBindCtx**);")
cpp_quote("HRESULT WINAPI CoInternetCombineUrl(LPCWSTR,LPCWSTR,DWORD,LPWSTR,DWORD,DWORD*,DWORD);")
cpp_quote("HRESULT WINAPI CoInternetCompareUrl(LPCWSTR,LPCWSTR,DWORD);");
cpp_quote("HRESULT WINAPI CoInternetCreateZoneManager(IServiceProvider*, IInternetZoneManager**, DWORD);");
cpp_quote("#define OInetCombineUrl CoInternetCombineUrl")
cpp_quote("#define OInetCompareUrl CoInternetCompareUrl")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment