指定した URL に対するプロキシデータを取得する。(WinHttpGetProxyForUrlEx)
WinHttpGetProxyForUrlEx hResolver, pcwszUrl, pAutoProxyOptions, pContext
hResolver : [intptr] WinHttpCreateProxyResolver 関数から返される WinHTTP リゾルバーハンドル。 pcwszUrl : [wstr] プロキシ情報を決定する対象の URL を含む、null 終端の Unicode 文字列へのポインタ。 pAutoProxyOptions : [var] 使用する auto-proxy オプションを指定する WINHTTP_AUTOPROXY_OPTIONS 構造体へのポインタ。 pContext : [int] 完了コールバック関数に渡されるコンテキストデータ。
(プラグイン / モジュール : winhttp.dll)
指定した URL に対するプロキシデータを取得する。(WinHttpGetProxyForUrlEx) [戻り値] 操作の結果を示すステータスコード。 (以下省略) [備考] この関数は HTTP リクエストのプロキシ設定を自動構成するための Web Proxy Auto-Discovery (WPAD) プロトコルを実装する。WPAD プロトコルはプロキシ自動構成 (PAC) ファイルをダウンロードする。PAC ファイルは対象 URL に対して使用するプロキシサーバーを特定するスクリプトである。PAC ファイルは通常、企業ネットワーク環境で IT 部門によって展開される。PAC ファイルの URL は明示的に指定することも、WinHttpGetProxyForUrlEx にローカルネットワーク上の PAC ファイルの位置を自動検出させることもできる。WinHttpGetProxyForUrlEx は ECMAScript ベースの PAC ファイルのみをサポートする。PAC ファイルは URL ごとに異なるプロキシサーバーを返す可能性があるため、WinHttpGetProxyForUrlEx は URL ごとに呼び出す必要がある。これは IT 部門が対象 URL (lpcwszUrl パラメータで指定) をプロキシサーバー配列内の特定のプロキシにマッピング (ハッシュ) することで、プロキシサーバーの負荷分散を実装できるため有用である。WinHttpGetProxyForUrlEx は pAutoProxyOptions 構造体の dwFlags メンバーで自動検出が指定されている場合、autoproxy URL と autoproxy スクリプトをキャッシュする。詳細は Autoproxy Cache を参照。WinHttpGetProxyForUrlEx は完全に非同期でキャンセル可能な API を提供するのに対し、WinHttpGetProxyForUrl はそうではない。また、WinHttpGetProxyForUrlEx は PAC スクリプトから返された完全なプロキシ一覧をアプリケーションに提供し、"DIRECT" へのフェールオーバーをよりよく扱えるようにし、必要に応じて SOCKS を理解できるようにする。WinHttpGetProxyForUrlEx は常に非同期で実行され、成功時には即座に ERROR_IO_PENDING を返す。コールバックは WinHttpOpen が提供する hSession に対して WinHttpSetStatusCallback を呼び出して設定する。代わりに、WinHttpCreateProxyResolver が提供する hResolver に対して WinHttpSetStatusCallback を呼び出して、各呼び出しごとに固有のコールバックを設定できる。WinHttpSetStatusCallback は WinHttpCreateProxyResolver の前に呼び出さなければならない。WinHttpSetStatusCallback を呼び出すときは WINHTTP_CALLBACK_FLAG_REQUEST_ERROR | WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE を使う。コールバックの使い方の詳細は WINHTTP_STATUS_CALLBACK を参照。WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE のステータスでコールバックが返されたら、アプリケーションは WinHttpGetProxyForUrlEx の呼び出しに使ったリゾルバーハンドルに対して WinHttpGetProxyResult を呼び出して、その呼び出しの結果を受け取れる。 ERROR_IO_PENDING を返した後に呼び出しが失敗した場合は、WINHTTP_CALLBACK_STATUS_REQUEST_ERROR のコールバックが発行される。この関数は常にプロセス外で実行される。
| プラグイン / モジュール | winhttp.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の winhttp.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_winhttp_gen2.hs |