InternetGetProxyInfo 函数

重要

此函数在 Windows 10 上已弃用,自 Windows 11 起不受支持。 对于 autoproxy 支持,请改用 HTTP Services (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
);

parameters

lpszUrl [in]

指向以 null 结尾的字符串的指针,该字符串指定目标 HTTP 资源的 URL。

dwUrlLength [in]

lpszUrl 指向的 URL 的大小(以字节为单位)。

lpszUrlHostName [in]

指向以 null 结尾的字符串的指针,该字符串指定目标 URL 的主机名。

dwUrlHostNameLength [in]

lpszUrlHostName 指向的主机名的大小(以字节为单位)。

lplpszProxyHostName [out]

指向缓冲区地址的指针,该缓冲区接收要用于指定资源的 HTTP 请求中的代理的 URL。 应用程序负责释放此字符串。

lpdwProxyHostNameLength [out]

指向变量的指针,该变量接收 lpszProxyHostName 缓冲区中返回的字符串的大小(以字节为单位)。

返回值

如果成功,则返回 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.

与 WinINet API 的所有其他方面一样,无法从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。

注意

WinINet 不支持服务器实现。 此外,不应从服务使用它。 对于服务器实现或服务,请使用 Microsoft Windows HTTP Services (WinHTTP)

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
自 Windows 11 起不受支持
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
DLL
JSProxy.dll

请参阅