WinHttp функция WinHttpGetIEProxyConfigForCurrentUser на виртуалке VMWare
От: Victor_Z Украина  
Дата: 09.05.14 12:19
Оценка:
Здравствуйте,

Встретился с проблемой различного поведения функции WinHttpGetIEProxyConfigForCurrentUser из библиотеки WinHttp.

Вот такой код:

#include <windows.h>
#include <winhttp.h>

#include <iostream>

#pragma comment( lib, "Winhttp.lib" )

int _tmain(int argc, _TCHAR* argv[])
{
WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ie_proxy_cfg;
BOOL res = WinHttpGetIEProxyConfigForCurrentUser(&ie_proxy_cfg);

std::cout << "res: " << res << " fAutoDetect: " << ie_proxy_cfg.fAutoDetect << std::endl;

return 0;
}

Результат на железной машине

res: 1 fAutoDetect: 1

и на виртуалке VMWare Workstation 9

res: 1 fAutoDetect: 0

Я знаю, что значение в поле fAutoDetect показывает стоит ли галочка в чек-боксе "Automatically detect settings" в диалоге "Local Area Network (LAN) Settings" который вызывается из "Internet Options".
В обоих случаях, на железной машине и на виртуалке галочка в этом чекбоксе присутствует.

Вопрос для меня важен так как приложение тестируется на виртуалках и функциональность работы через HTPP Proxy при автоматическом определение параметров прокси не тестируется.

Может кто встречался. Может какая настройка в VMWare. Вопрос на форуме VMWare уже задал.
Re: WinHttp функция WinHttpGetIEProxyConfigForCurrentUser на виртуалке VMWare
От: breee breee  
Дата: 15.05.14 20:46
Оценка:
Здравствуйте, Victor_Z, Вы писали:

V_Z>Может кто встречался. Может какая настройка в VMWare. Вопрос на форуме VMWare уже задал.


Пара идей раз больше никто не отвечает.
1. Я бы попробовал проинициализировать структуру нулями: ie_proxy_cfg = {}; прежде чем передавать ее в функцию.
2. Возможно, на виртуалке explorer не может использовать WPAD (сеть некорректно настроена) и поэтому считает, что автодетект прокси отключен. Предлагаю попробовать либо донастроить сеть на виртуалке, если это требуется (прописать DNS и т.д.), либо на хосте отрубить сеть и посмотреть что вернет функция.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.