WinHttpSetOption 関数 (winhttp.h)

WinHttpSetOption 関数は、インターネット オプションを設定します。

構文

WINHTTPAPI BOOL WinHttpSetOption(
  [in] HINTERNET hInternet,
  [in] DWORD     dwOption,
  [in] LPVOID    lpBuffer,
  [in] DWORD     dwBufferLength
);

パラメーター

[in] hInternet

データを設定する HINTERNET ハンドル。 これは、設定されているオプションに応じて、セッション ハンドルまたは要求ハンドルのいずれかであることに注意してください。 特定のオプションを設定する際に使用するハンドルを決定する方法の詳細については、「 オプション フラグ」を参照してください。

[in] dwOption

設定するインターネット オプションを含む符号なし long 整数値。 これは、 オプション フラグ の値のいずれかです。

[in] lpBuffer

オプション設定を含むバッファーへのポインター。

[in] dwBufferLength

lpBuffer バッファーの長さを含む符号なし long 整数値。 バッファーの長さは、次のオプションの文字で指定します。他のすべてのオプションでは、長さはバイト単位で指定されます。

戻り値

成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。 拡張エラー情報については、 GetLastError を呼び出します。 返されるエラー コードは次のとおりです。

エラー コード 説明
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
指定されたハンドルが正しい状態でないため、要求された操作を実行できません。
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
指定されたハンドルの種類が、この操作に対して正しくありません。
ERROR_WINHTTP_INTERNAL_ERROR
内部エラーが発生しました。
ERROR_WINHTTP_INVALID_OPTION
WinHttpQueryOption または WinHttpSetOption への要求無効なオプション値が指定されました。
ERROR_INVALID_PARAMETER
パラメーターが無効です。

この値は、 WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL が 15000 より小さい値に設定されている場合に返されます。

ERROR_WINHTTP_OPTION_NOT_SETTABLE
要求されたオプションを設定できず、クエリのみを実行します。
ERROR_INVALID_PARAMETER
パラメーターが無効です。

この値は、 WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL が 15000 より小さい値に設定されている場合に返されます。

ERROR_NOT_ENOUGH_MEMORY
要求された操作を完了するのに十分なメモリが使用できませんでした。 (Windows エラー コード)

注釈

WinHttpSetOption に渡された資格情報は、予期せずプレーンテキストで送信される可能性があります。 資格情報の設定には、WinHttpSetOption の代わりに WinHttpQueryAuthSchemesWinHttpSetCredentials を使用することを強くお勧めします。

メモただし、Passport 認証を使用する場合、407 状態コードに応答する WinHTTP アプリケーションでは、WinHttpSetCredentials ではなく WinHttpSetOption を使用してプロキシ資格情報を指定する必要があります。 これは、Passport 認証を使用する場合にのみ当てはまります。他のすべての状況では、 WinHttpSetCredentials を使用します。
 
WinHTTP が非同期モードで使用されている場合 (つまり、WinHttpOpenWINHTTP_FLAG_ASYNCが設定されている場合) でも、この関数は同期的に動作します。 戻り値は成功または失敗を示します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

設定できないオプション フラグが指定されている場合、GetLastError はエラー ERROR_INVALID_PARAMETERを返します。

WinHttpSetOption の使用方法を示す詳細とコード例については、「WinHTTP での認証」を参照してください。

メモ Windows XP と Windows 2000 については、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 以降がインストールされています。

こちらもご覧ください

WinHTTP での認証

オプション フラグ

WinHTTP バージョン

WinHttpCloseHandle

WinHttpOpen

WinHttpQueryOption