From 0bc9e7d41c16f98f29a505c31b0a5b8865c47cb6 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 13 Sep 2005 14:30:15 +0000 Subject: [PATCH] Added PARSE_SECURITY_DOMAIN action implementation. --- dlls/urlmon/internet.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/dlls/urlmon/internet.c b/dlls/urlmon/internet.c index c602e8a347d..e1ce8371699 100644 --- a/dlls/urlmon/internet.c +++ b/dlls/urlmon/internet.c @@ -86,7 +86,7 @@ static IInternetProtocolInfo *get_protocol_info(LPCWSTR url) res = RegOpenKeyW(HKEY_CLASSES_ROOT, wszKey, &hkey); HeapFree(GetProcessHeap(), 0, wszKey); if(res != ERROR_SUCCESS) { - ERR("Could not open key %s\n", debugstr_w(wszProtocolsKey)); + TRACE("Could not open key %s\n", debugstr_w(wszKey)); return NULL; } @@ -177,6 +177,27 @@ static HRESULT parse_path_from_url(LPCWSTR url, DWORD flags, LPWSTR result, DWOR return hres; } +static HRESULT parse_security_domain(LPCWSTR url, DWORD flags, LPWSTR result, + DWORD size, DWORD *rsize) +{ + IInternetProtocolInfo *protocol_info; + HRESULT hres; + + TRACE("(%s %08lx %p %ld %p)\n", debugstr_w(url), flags, result, size, rsize); + + protocol_info = get_protocol_info(url); + + if(protocol_info) { + hres = IInternetProtocolInfo_ParseUrl(protocol_info, url, PARSE_SECURITY_DOMAIN, + flags, result, size, rsize, 0); + if(SUCCEEDED(hres)) + return hres; + } + + return E_FAIL; +} + + HRESULT WINAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved) { @@ -192,6 +213,8 @@ HRESULT WINAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD return parse_path_from_url(pwzUrl, dwFlags, pszResult, cchResult, pcchResult); case PARSE_SCHEMA: return parse_schema(pwzUrl, dwFlags, pszResult, cchResult, pcchResult); + case PARSE_SECURITY_DOMAIN: + return parse_security_domain(pwzUrl, dwFlags, pszResult, cchResult, pcchResult); default: FIXME("not supported action %d\n", ParseAction); }