wininet(2/4): Implement proxy-related per-connection option queries
Juan Lang
juan.lang at gmail.com
Mon Aug 10 17:21:14 CDT 2009
--Juan
-------------- next part --------------
From e29439c2a274120161c2d0005c3b714e274ca1e4 Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Mon, 10 Aug 2009 15:18:15 -0700
Subject: [PATCH 12/14] Implement proxy-related per-connection option queries
---
dlls/wininet/internet.c | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 39349d0..e51c964 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -2080,23 +2080,44 @@ DWORD INET_QueryOption(DWORD option, void *buffer, DWORD *size, BOOL unicode)
case INTERNET_OPTION_PER_CONNECTION_OPTION: {
INTERNET_PER_CONN_OPTION_LISTW *con = buffer;
+ INTERNET_PER_CONN_OPTION_LISTA *conA = buffer;
DWORD res = ERROR_SUCCESS, i;
+ appinfo_t ai;
+
+ TRACE("Getting global proxy info\n");
+ memset(&ai, 0, sizeof(appinfo_t));
+ INTERNET_ConfigureProxy(&ai);
FIXME("INTERNET_OPTION_PER_CONNECTION_OPTION stub\n");
- if (*size < sizeof(INTERNET_PER_CONN_OPTION_LISTW))
+ if (*size < sizeof(INTERNET_PER_CONN_OPTION_LISTW)) {
+ APPINFO_Destroy(&ai.hdr);
return ERROR_INSUFFICIENT_BUFFER;
+ }
for (i = 0; i < con->dwOptionCount; i++) {
INTERNET_PER_CONN_OPTIONW *option = con->pOptions + i;
+ INTERNET_PER_CONN_OPTIONA *optionA = conA->pOptions + i;
switch (option->dwOption) {
case INTERNET_PER_CONN_FLAGS:
- option->Value.dwValue = PROXY_TYPE_DIRECT;
+ option->Value.dwValue = ai.dwAccessType;
break;
case INTERNET_PER_CONN_PROXY_SERVER:
+ if (unicode)
+ option->Value.pszValue = heap_strdupW(ai.lpszProxy);
+ else
+ optionA->Value.pszValue = heap_strdupWtoA(ai.lpszProxy);
+ break;
+
case INTERNET_PER_CONN_PROXY_BYPASS:
+ if (unicode)
+ option->Value.pszValue = heap_strdupW(ai.lpszProxyBypass);
+ else
+ optionA->Value.pszValue = heap_strdupWtoA(ai.lpszProxyBypass);
+ break;
+
case INTERNET_PER_CONN_AUTOCONFIG_URL:
case INTERNET_PER_CONN_AUTODISCOVERY_FLAGS:
case INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL:
@@ -2113,6 +2134,7 @@ DWORD INET_QueryOption(DWORD option, void *buffer, DWORD *size, BOOL unicode)
break;
}
}
+ APPINFO_Destroy(&ai.hdr);
return res;
}
--
1.6.3.2
More information about the wine-patches
mailing list