Поделиться через


Функция 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
JSProxy.dll

См. также раздел