WinHttpOpen

アプリケーションに対して WinHTTP 関数の使用を初期化し、WinHTTP セッションハンドルを返す。

WinHttpOpen pszAgentW, dwAccessType, pszProxyW, pszProxyBypassW, dwFlags

pszAgentW : [wstr] WinHTTP 関数を呼び出すアプリケーション名または主体名を含む文字列へのポインタ。HTTP プロトコルで user agent として使用される。
dwAccessType : [int] 
pszProxyW : [wstr] dwAccessType が WINHTTP_ACCESS_TYPE_NAMED_PROXY のとき使用するプロキシサーバー名を含む文字列へのポインタ。WinHTTP は HTTP 用の CERN 型プロキシのみ認識する。それ以外の dwAccessType では WINHTTP_NO_PROXY_NAME を指定する。
pszProxyBypassW : [wstr] WINHTTP_ACCESS_TYPE_NAMED_PROXY 時にプロキシを経由しないホスト名/IP アドレスのセミコロン区切りリスト(省略可)へのポインタ。ワイルドカード可。空文字列は使わないこと。それ以外の dwAccessType では WINHTTP_NO_PROXY_BYPASS を指定する。
dwFlags : [int] 動作オプションを示すフラグ。以下の値を指定できる。

(プラグイン / モジュール : winhttp.dll)

解説

アプリケーションに対して WinHTTP 関数の使用を初期化し、WinHTTP セッションハンドルを返す。

[戻り値]
成功時は有効なセッションハンドル、それ以外は NULL を返す。拡張エラー情報は GetLastError
で取得する。主なエラーコードは以下の通り。
(以下省略)

[備考]
非同期モード (WINHTTP_FLAG_ASYNC) での使用が強く推奨される。WinHttpOpen はアプリケーションが最初に呼ぶ
WinHTTP 関数であり、内部データ構造を初期化し以降の呼び出しに備える。使用終了時は WinHttpCloseHandle
でセッションハンドルを解放する必要がある。複数回呼んでも構わないが、通常 1
回で十分。ユーザーデータは複数セッションコンテキスト間で共有されないため、複数ユーザーの代理でリクエストを行うアプリは各ユーザーごとに別セッションを作成すべき。

情報

プラグイン / モジュールwinhttp.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の winhttp.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_winhttp_gen2.hs