Функция InternetGetProxyInfo
Важно!
Эта функция является нерекомендуемой в Windows 10 и не поддерживается с Windows 11. Для поддержки автопрокси используйте службы HTTP (WinHTTP) версии 5.1. Дополнительные сведения см. в разделе Поддержка WinHTTP AutoProxy.
Извлекает данные прокси-сервера для доступа к указанным ресурсам. Эту функцию можно вызвать только путем явной загрузки JSProxy.dll
.
Синтаксис
BOOL InternetGetProxyInfo(
_In_ LPCSTR lpszUrl,
_In_ DWORD dwUrlLength,
_In_ LPSTR lpszUrlHostName,
_In_ DWORD dwUrlHostNameLength,
_Out_ LPSTR *lplpszProxyHostName,
_Out_ LPDWORD lpdwProxyHostNameLength
);
Параметры
-
lpszUrl [in]
-
Указатель на строку, завершающуюся null, которая указывает URL-адрес целевого ресурса HTTP.
-
dwUrlLength [in]
-
Размер (в байтах) URL-адреса, на который указывает lpszUrl.
-
lpszUrlHostName [in]
-
Указатель на строку, завершающуюся null, которая указывает имя узла целевого URL-адреса.
-
dwUrlHostNameLength [in]
-
Размер (в байтах) имени узла, на который указывает lpszUrlHostName.
-
lplpszProxyHostName [out]
-
Указатель на адрес буфера, который получает URL-адрес прокси-сервера для использования в HTTP-запросе для указанного ресурса. Приложение отвечает за освобождение этой строки.
-
lpdwProxyHostNameLength [out]
-
Указатель на переменную, которая получает размер в байтах строки, возвращаемой в буфере lplpszProxyHostName .
Возвращаемое значение
Возвращает значение TRUE в случае успешного выполнения или FALSE в противном случае. Чтобы получить расширенные данные об ошибках, вызовите Метод GetLastError.
Комментарии
Чтобы вызвать InternetGetProxyInfo, необходимо динамически связать его с помощью определенного типа указателя функции pfnInternetGetProxyInfo. В приведенном ниже фрагменте кода показано, как объявить экземпляр этого типа указателя функции, а затем инициализировать и вызвать его.
HMODULE hModJS; // Handle for loading the DLL
pfnInternetGetProxyInfo pIGPI; // Function-pointer instance
hModJS = LoadLibrary( TEXT("jsproxy.dll") );
if (!hModJS)
{
_tprintf( TEXT("\nLoadLibrary failed to load jsproxy.dll with error: %d\n"),
GetLastError( ) );
return( FALSE );
}
pIGPI = (pfnInternetGetProxyInfo)
GetProcAddress( hModJS, "InternetGetProxyInfo" );
if (!pIGPI)
{
_tprintf( TEXT("\nGetProcAddress failed to find InternetGetProxyInfo, error: %d\n"),
GetLastError( ) );
return( FALSE );
}
// The pIGPI function pointer can now be used to call InternetGetProxyInfo.
Как и все другие аспекты API WinINet, эту функцию нельзя безопасно вызывать из DllMain или из конструкторов и деструкторов глобальных объектов.
Примечание
WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для серверных реализаций или служб используйте службы Microsoft Windows HTTP (WinHTTP).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] Не поддерживается по состоянию на Windows 11 |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
DLL |
|