WinHttpSetCredentials 関数 (winhttp.h)
WinHttpSetCredentials 関数は、必要な承認資格情報をサーバーに渡します。
構文
WINHTTPAPI BOOL WinHttpSetCredentials(
[in] HINTERNET hRequest,
[in] DWORD AuthTargets,
[in] DWORD AuthScheme,
[in] LPCWSTR pwszUserName,
[in] LPCWSTR pwszPassword,
[in] LPVOID pAuthParams
);
パラメーター
[in] hRequest
WinHttpOpenRequest によって返される有効な HINTERNET ハンドル。
[in] AuthTargets
認証ターゲットを含むフラグを指定する符号なし整数。 次の表のいずれかの値を指定できます。
値 | 説明 |
---|---|
|
資格情報はサーバーに渡されます。 |
|
資格情報はプロキシに渡されます。 |
[in] AuthScheme
認証スキームを含むフラグを指定する符号なし整数。 WinHttpQueryAuthSchemes から返される、サポートされている認証スキームのいずれかである必要があります。 次の表に、使用可能な値を示します。
[in] pwszUserName
有効なユーザー名を含む文字列へのポインター。
[in] pwszPassword
有効なパスワードを含む文字列へのポインター。 パスワードは空白にすることができます。
[in] pAuthParams
このパラメーターは予約済みであり、 NULL である必要があります。
戻り値
成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 拡張エラー情報については、 GetLastError を呼び出します。 次の表は、返されるエラー コードを示しています。
エラー コード | 説明 |
---|---|
|
指定されたハンドルが正しい状態でないため、要求された操作を実行できません。 |
|
指定されたハンドルの種類がこの操作に対して正しくありません。 |
|
内部エラーが発生しました。 |
|
要求された操作を完了するのに十分なメモリが使用できませんでした (Windows エラー コード)。 |
解説
WinHTTP が非同期モードで使用されている場合 (つまり、WinHttpOpen でWINHTTP_FLAG_ASYNCが設定されている場合)、この関数は同期的に動作します。 戻り値は、成功または失敗を示します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
WinHttpSetCredentials によって設定された資格情報は、1 つの要求にのみ使用されます。WinHTTP は、後続の要求で使用するためにこれらの資格情報をキャッシュしません。 その結果、複数の課題に対応できるようにアプリケーションを記述する必要があります。 認証された接続が再利用された場合、後続の要求はチャレンジできませんが、コードは任意の時点でチャレンジに応答できる必要があります。
WinHttpSetCredentials の使用を示すサンプル コードについては、「WinHTTP での認証」を参照してください。
要件
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional sp3 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003、Windows 2000 Server SP3 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winhttp.h |
Library | Winhttp.lib |
[DLL] | Winhttp.dll |
再頒布可能パッケージ | Windows XP および Windows 2000 で WinHTTP 5.0 およびインターネット エクスプローラー 5.01 以降。 |