WinHttpSetCredentials

WinHttpSetCredentials 関数は、必要な認証資格情報をサーバーに渡す。

WinHttpSetCredentials hRequest, AuthTargets, AuthScheme, pwszUserName, pwszPassword, pAuthParams

hRequest : [intptr] WinHttpOpenRequest から返される有効な HINTERNET ハンドル。
AuthTargets : [int] 認証ターゲットを含むフラグを指定する unsigned int。次の表の値のいずれかを指定できる。
AuthScheme : [int] 認証スキームを含むフラグを指定する unsigned intWinHttpQueryAuthSchemes から返されるサポートされている認証スキームのいずれかでなければならない。次の表は指定可能な値を示す。
pwszUserName : [wstr] 有効なユーザー名を含む文字列へのポインタ。
pwszPassword : [wstr] 有効なパスワードを含む文字列へのポインタ。パスワードは空でもよい。
pAuthParams : [intptr] このパラメータは予約済みで、NULL でなければならない。

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

解説

WinHttpSetCredentials 関数は、必要な認証資格情報をサーバーに渡す。

[戻り値]
成功した場合は TRUE を、失敗した場合は FALSE を返す。拡張エラー情報は GetLastError
で取得する。次の表は返されるエラーコードを示す。
(以下省略)

[備考]
WinHTTP が非同期モード (WinHttpOpen で WINHTTP_FLAG_ASYNC が設定されている状態)
で使われる場合でも、この関数は同期的に動作する。戻り値は成功または失敗を示す。拡張エラー情報は GetLastError
で取得する。WinHttpSetCredentials で設定された資格情報は 1 回のリクエストでのみ使用され、WinHTTP
は後続のリクエストのためにキャッシュしない。そのためアプリケーションは複数の認証要求に応答できるように書かれていなければならない。認証済みの接続が再利用される場合、後続のリクエストに対して認証要求は行われないかもしれないが、コードはいつでも認証要求に応答できるようにしておく必要がある。WinHttpSetCredentials
の使用例は Authentication in WinHTTP を参照。注: Passport 認証を使って 407
ステータスコードに応答する場合、WinHTTP アプリケーションは WinHttpSetCredentials ではなく
WinHttpSetOption を使ってプロキシ資格情報を提供しなければならない。これは Passport
認証を使う場合のみ当てはまる。それ以外の場合は WinHttpSetOption はセキュリティが低いため
WinHttpSetCredentials を使うこと。注: Windows XP および Windows 2000 については
WinHttp の開始ページの Run-Time Requirements セクションを参照。

情報

プラグイン / モジュール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