オプション フラグ

WinHttpQueryOption と WinHttpSetOption では、次のオプション フラグがサポートされています。

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

既定値は FALSE です。 TRUE に設定した場合、クライアント アプリケーションによって状態コールバックがブロックされている場合、WinHTTP は進行状況を保証しません。

クライアント アプリケーションは、ブロックせずにコールバック内で最小限の操作を実行し、可能な限り迅速に返すように特別な注意を払う必要があります。特に、後続の WinHTTP 呼び出しを待つことはできません。 これらのガイドラインに従っていない場合は、パフォーマンスに悪影響を及ぼすか、アプリケーションがハングする可能性があります。 規定の方法で使用すると、このオプションによってパフォーマンスが向上する可能性があります。

WINHTTP_OPTION_AUTOLOGON_POLICY

次のいずれかの値を持つ 自動ログオン ポリシー を指定する符号なし long 整数値を設定します。

項目 Description
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH 既定の資格情報は使用されません。 このフラグは、実際のマシン名でサーバーを指定した場合にのみ有効であることに注意してください。 "localhost" または IP アドレスでサーバーを指定した場合、有効になりません。
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW すべての要求に対して、既定の資格情報を使用して認証されたログオンが実行されます。
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM 既定の資格情報を使用して認証されたログオンは、ローカル イントラネット上の要求に対してのみ実行されます。

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

セッション ハンドルでこのオプションを設定する場合は、開く接続の数を渡す必要があります。 次に、最初に要求を送信すると、1 つの接続のみを開くのではなく、WinHttp によって複数の接続が並列で開かれます。 これにより、同じ宛先への後続の要求のパフォーマンスが向上し、接続確立のオーバーヘッドが発生しません。

WINHTTP_OPTION_CALLBACK

WinHttpSetStatusCallback で設定されたコールバック関数へのポインターを取得します。

WINHTTP_OPTION_CLIENT_CERT_CONTEXT

クライアント証明書のコンテキストを設定します。 アプリケーションが ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDEDを受信した場合は、要求を再試行する前に WinHttpSetOption を呼び出して証明書を指定する必要があります。 このオプションの処理の一環として、WinHttp は、呼び出し元が指定した証明書コンテキストで CertDuplicateCertificateContext を呼び出して、証明書コンテキストを呼び出し元が個別に解放できるようにします。

注意

アプリケーションは、証明書コンテキストが取得された証明書ストアの CertCloseStore の呼び出しで、CERT_CLOSE_STORE_FORCE_FLAG フラグを使用して証明書ストアを閉じようとしないでください。 アクセス違反が発生する可能性があります。

サーバーがクライアント証明書、 WinHttpSendRequest、または WinHttpReceiveResponse を要求すると、 ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED エラーが返されます。 サーバーが証明書を要求しても不要な場合、アプリケーションはこのオプションを指定して証明書がないことを示すことができます。 サーバーは、別の認証スキームを選択することも、サーバーへの匿名アクセスを許可することもできます。 アプリケーションは、次のコード例に示すように、WinHttpSetOptionlpBuffer パラメーターにWINHTTP_NO_CLIENT_CERT_CONTEXT マクロを提供します。

BOOL fRet = WinHttpSetOption(hRequest,
                             WINHTTP_OPTION_CLIENT_CERT_CONTEXT,
                             WINHTTP_NO_CLIENT_CERT_CONTEXT,
                             0);

サーバーでクライアント証明書が必要な場合は、応答として 403 HTTP 状態コードを送信できます。 詳細については、「 WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST オプション」を参照してください。

WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST

WinHttpSendRequest または WinHttpReceiveResponse からのエラーがERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDEDされたときに、SecPkgContext_IssuerListInfoEx構造体を取得します。 構造体の発行者リストには、サーバーから受け入れ可能な証明機関 (CA) の一覧が含まれています。 クライアント アプリケーションは、CA リストをフィルター処理して、SSL 認証用のクライアント証明書を取得できます。

または、サーバーがクライアント証明書を要求するが、それを必要としない場合、アプリケーションは WINHTTP_OPTION_CLIENT_CERT_CONTEXT オプションを使用して WinHttpSetOption を呼び出すことができます。 詳細については、「 WINHTTP_OPTION_CLIENT_CERT_CONTEXT オプション」を参照してください。

WINHTTP_OPTION_CODEPAGE

URL の処理に使用する コード ページ (つまり、クエリ文字列) を設定します。 既定値は UTF8 です。

WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH

WinHTTP 認証で Passport Authentication を有効にするかどうかを指定する符号なし long 整数値を設定します。 値は次のいずれかになります。

項目 Description
WINHTTP_DISABLE_PASSPORT_AUTH Microsoft Passport 認証が無効になっています。 既定値です。
WINHTTP_DISABLE_PASSPORT_KEYRING Passport キーリングが無効になっています。 既定値です。
WINHTTP_ENABLE_PASSPORT_AUTH パスポート認証が有効になっています。
WINHTTP_ENABLE_PASSPORT_KEYRING Passport キーリングが有効になっています。

WINHTTP_OPTION_CONNECT_RETRIES

WinHTTP がホストへの接続を試行する回数を含む符号なし長整数を設定または取得します。 Microsoft Windows HTTP Services (WinHTTP) は、インターネット プロトコル (IP) アドレスごとに 1 回だけ試行されます。 たとえば、10 個の IP アドレスを持つマルチホーム ホストに接続しようとして 、WINHTTP_OPTION_CONNECT_RETRIES が 7 に設定されている場合、WinHTTP は最初の 7 つの IP アドレスへの接続のみを試みます。 10 個の IP アドレスの同じセットを指定 すると、WINHTTP_OPTION_CONNECT_RETRIES が 20 に設定されている場合、WinHTTP は 10 個のそれぞれを 1 回だけ試行します。 指定した試行回数が経過しても接続試行が失敗する場合、またはその前に接続タイムアウトが切れた場合、要求は取り消されます。 WINHTTP_OPTION_CONNECT_RETRIESの既定値は 5 回です。

WINHTTP_OPTION_CONNECT_TIMEOUT

タイムアウト値を含む符号なし長整数をミリ秒単位で設定または取得します。 このオプションを infinite (0xFFFFFFFF) に設定すると、このタイマーが無効になります。

TCP 接続要求にこのタイムアウト値より長い時間がかかる場合、要求は取り消されます。 既定のタイムアウトは 60 秒です。 1 つのホスト (マルチホーム ホスト) の複数の IP アドレスに接続しようとすると、タイムアウト制限は個々の接続に対するものです。

WINHTTP_OPTION_CONNECTION_INFO

WinHttpReceiveResponse が返されたときに応答を生成した要求の送信元と宛先の IP アドレスとポートを取得します。 アプリケーションは、WINHTTP_OPTION_CONNECTION_INFO オプションを使用して WinHttpQueryOption を呼び出し、lpBuffer パラメーターにWINHTTP_CONNECTION_INFO構造体を提供します。 詳細については、「 WINHTTP_CONNECTION_INFO」を参照してください。

適用対象: SP2 以降の Windows XP。WINDOWS 2003 SP1 以降。

WINHTTP_OPTION_CONNECTION_GUID

WinHTTP 要求ハンドルに関連付けられている接続を GUID でマークします。 これにより、 WINHTTP_OPTION_MATCH_CONNECTION_GUID オプションを使用して、どの接続グループを使用するかをカスタム制御できます。

WINHTTP_OPTION_CONNECTION_STATS_V0

要求によって使用される基になる接続の TCP_INFO_v0 構造体を取得します。 返される構造体には、同じ接続経由で送信された以前の要求からの統計が含まれている場合があります。

Note

このオプションは 、WINHTTP_OPTION_CONNECTION_STATS_V1によって置き換えられます。

WINHTTP_OPTION_CONNECTION_STATS_V1

要求によって使用される基になる接続の TCP_INFO_v1 構造体を取得します。 返される構造体には、同じ接続経由で送信された以前の要求からの統計が含まれている場合があります。

WINHTTP_OPTION_CONTEXT_VALUE

この HINTERNET ハンドルに関連付けられているコンテキスト値へのポインターを含むDWORD_PTRを設定または取得します。 バッファーに格納されている値が使用され、 WINHTTP_OPTION_CONTEXT_VALUE オプション フラグに新しい値が割り当てられます。

WINHTTP_OPTION_DECOMPRESSION

WinHTTP が圧縮された Content-Encodings を使用して応答本文を自動的に展開するかどうかを決定するフラグの DWORD を設定します。 WinHTTP では、適切なAccept-Encoding ヘッダーも設定され、呼び出し元によって提供されるすべてのヘッダーがオーバーライドされます。 サポートされる値は次のとおりです。

項目 Description
WINHTTP_DECOMPRESSION_FLAG_GZIP コンテンツ エンコードの圧縮解除: gzip 応答。
WINHTTP_DECOMPRESSION_FLAG_DEFLATE コンテンツ エンコードの圧縮解除: 応答をデフレートします。
WINHTTP_DECOMPRESSION_FLAG_ALL サポートされている Content-Encoding を使用して応答を圧縮解除します。

既定では、WinHTTP は変更されていない呼び出し元に圧縮された応答を配信します。

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

WinHttp セッション ハンドルでこのオプションを設定すると、サーバー証明書チェーンが構築されているかどうかを有効または無効にすることができます。

WINHTTP_OPTION_DISABLE_FEATURE

次の 1 つ以上のフラグで無効にする機能を指定する符号なし long 整数値を設定します。 この機能は、要求ハンドルが WinHttpOpenRequest で作成された後、および要求が WinHttpSendRequest で送信される前に、要求ハンドルで WinHttpSetOption にのみ渡す必要があることに注意してください。

項目 Description
WINHTTP_DISABLE_AUTHENTICATION 自動認証は無効になっています。
WINHTTP_DISABLE_COOKIES 要求への Cookie ヘッダーの自動追加は無効になっています。 また、返された Cookie は Cookie データベースに自動的に追加されません。 Cookie を無効にすると、Passport 認証のパフォーマンスが低下する可能性があります。
WINHTTP_DISABLE_KEEP_ALIVE 接続のキープアライブ セマンティクスを無効にします。 MSN、NTLM、およびその他の種類の認証には、キープアライブ セマンティクスが必要です。
WINHTTP_DISABLE_REDIRECTS WinHttpSendRequest を使用して要求を送信すると、自動リダイレクトは無効になります。 自動リダイレクトが無効になっている場合、Passport 認証を成功させるには、アプリケーションでコールバック関数を登録する必要があります。

WINHTTP_OPTION_DISABLE_GLOBAL_POOLING

グローバルなセッション間プールを無効にします。 グローバルなセッション間プールは、互換性の理由から既定でサポートされている従来の動作であるため、この方法をお勧めします。 これは、後で最大接続数を手動で設定した場合に影響を受けます。

WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES

該当するすべての選択肢を指定して、WinHTTP セッションで次のプロキシ認証プラクティスの 1 つ以上を OR 無効にします。 これらは、 WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICEを除くすべてのスキームであり、ループバックまたはローカル アドレスに要求を送信するときにローカル コンピューター アカウントを強制的に使用します。 これにより、システム資格情報がローカル HTTP プロキシに漏洩するのを防ぐことができます。

項目 Description
WINHTTP_PROXY_DISABLE_SCHEME_BASIC 基本認証スキームを無効にします。
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST ダイジェスト認証スキームを無効にします。
WINHTTP_PROXY_DISABLE_SCHEME_NTLM NTLM 認証スキームを無効にします。
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS Kerberos 認証スキームを無効にします。
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE ネゴシエート認証スキームを無効にします。
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE ループバックまたはローカル アドレスに要求を送信するときに、ローカル コンピューター アカウントを強制的に使用します。

WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK

初期プロトコル ネゴシエーションが失敗した場合に、WinHTTP が下位バージョンのセキュリティ プロトコルとの接続を再試行できないようにします。

WINHTTP_OPTION_DISABLE_STREAM_QUEUE

既存の接続で次に使用可能なストリームを待機するのではなく、同時ストリームの最大制限に達したときに、新しい要求で追加の HTTP/2 接続を開くよう許可します。

WINHTTP_OPTION_ENABLE_FEATURE

現在有効になっている機能を指定する符号なし long 整数値を設定します。 次のいずれかの値を指定できます。

項目 Description
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION 有効にすると、WinHTTP は SSL 証明書認証操作の間、クライアントの偽装を一時的に元に戻します。 この値は、セッション ハンドルでのみ設定できます。
WINHTTP_ENABLE_SSL_REVOCATION 有効にした場合、WinHTTP は SSL 失効を許可します。 この値は、要求ハンドルでのみ設定できます。

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

許容される高度な HTTP バージョンの DWORD ビットマスクを設定します。 次のいずれかの値になります。

項目 Description
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) 要求に対して HTTP/2 を有効にします。
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) 要求に対して HTTP/3 を有効にします。
なし (0x0) 要求を HTTP/1.1 以前に制限します。

従来のバージョンの HTTP (1.1 以前) は、このオプションを使用して無効にすることはできません。 既定値は 0x0 です。

WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT

このオプションは、WinHttp セッション ハンドルで設定して、HTTP/2 が使用されているときに WinHttp が呼び出し元指定のクライアント証明書コンテキストを使用できるようにします。

WINHTTP_OPTION_ENABLETRACING

トレースが現在有効かどうかを指定する BOOL 値を設定します。 このオプションは、 NULLHINTERNET ハンドルでのみ設定できます。 WinHTTP トレースの収集に関するページも参照してください。

WINHTTP_OPTION_ENCODE_EXTRA

パスとクエリ文字列の URL パーセント エンコードを有効にします。

または、WinHttp を呼び出す前にパーセントエンコードすることもできます。

WINHTTP_OPTION_EXPIRE_CONNECTION

このオプションは、まだアクティブ (送受信中) の要求ハンドルでのみ設定できます。 このオプションを設定すると、渡された要求ハンドルに関連付けられている接続で要求の処理を停止するように WinHttp に指示されます。 このオプションがで呼び出された要求ハンドルが完了すると、接続は閉じられます。 このオプションはパラメーターを受け取りません。

WINHTTP_OPTION_EXTENDED_ERROR

このスレッド コンテキストで最後に返されたERROR_WINHTTP_* エラー メッセージにマップされた Microsoft Windows Sockets エラー コードを含む符号なし long 整数値を取得します。 ハンドル値として NULL を 渡すことができます。

WINHTTP_OPTION_FEATURE_SUPPORTED

指定されたオプション フラグがこのバージョンの WinHTTP でサポートされているかどうかを確認します。

WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION

既定では、WinHttp が要求を送信するときに、要求を処理するための使用可能な接続がない場合、WinHttp は新しい接続の確立を試み、要求はこの新しい接続にバインドされます。 このオプションを設定すると、そのような要求は、代わりに、使用可能になる最初の接続で提供され、必ずしも確立されるわけではありません。

WINHTTP_OPTION_GLOBAL_PROXY_CREDS

hInternet 関数パラメーターが NULL に設定されたWINHTTP_CREDS_EX構造体へのポインターを受け取ります。 このオプションには、レジストリ キー HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings が必要です。ShareCredsWithWinHttp。 このレジストリ キーが設定されていない場合、WinHTTP はエラー ERROR_WINHTTP_INVALID_OPTIONを返します。 このレジストリ キーは既定では存在しません。 設定すると、WinINet は資格情報を WinHTTP に送信します。 WinHttp が認証チャレンジを受け取るたびに、現在のハンドルに資格情報が設定されていない場合は、WinINet によって提供される資格情報が使用されます。 プロキシ資格情報に加えてサーバー資格情報を共有するには、ユーザーが WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS を設定する必要があります。

WINHTTP_OPTION_GLOBAL_SERVER_CREDS

hInternet 関数パラメーターが NULL に設定されたWINHTTP_CREDS_EX構造体へのポインターを受け取ります。 このオプションには、レジストリ キー HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings が必要です。ShareCredsWithWinHttp。 このレジストリ キーが設定されていない場合、WinHTTP はエラー ERROR_WINHTTP_INVALID_OPTIONを返します。 このレジストリ キーは既定では存在しません。 設定すると、WinINet は資格情報を WinHTTP に送信します。 WinHttp が認証チャレンジを受け取るたびに、現在のハンドルに資格情報が設定されていない場合は、WinINet によって提供される資格情報が使用されます。 プロキシ資格情報に加えてサーバー資格情報を共有するには、ユーザーが WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS を設定する必要があります。

WINHTTP_OPTION_HANDLE_TYPE

渡された HINTERNET ハンドルの型を含む符号なし long 整数値を取得します。 戻り値は次のいずれかになります。

項目 Description
WINHTTP_HANDLE_TYPE_CONNECT ハンドルは接続ハンドルです。
WINHTTP_HANDLE_TYPE_REQUEST ハンドルは要求ハンドルです。
WINHTTP_HANDLE_TYPE_SESSION ハンドルはセッション ハンドルです。

WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOLが有効にしたプロトコルバージョン以外のバージョンが要求に使用されないようにします。

WINHTTP_OPTION_HTTP_PROTOCOL_USED

指定された要求で使用された高度な HTTP バージョンを示す DWORD を取得します。 使用可能な値の一覧については、「 WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL」を参照してください。

WINHTTP_OPTION_HTTP_VERSION

サポートされている HTTP バージョンを含む HTTP_VERSION_INFO 構造体を設定または取得します。 これはプロセス全体のオプションです。ハンドルに NULL を 使用します。

WINHTTP_OPTION_HTTP2_KEEPALIVE

このオプションをセッション ハンドルに設定すると、WinHttp でキープアライブ メカニズムとして HTTP/2 PING フレームを使用できます。 呼び出し元はタイムアウトをミリ秒単位で指定し、そのタイムアウト期間に接続にアクティビティがない場合、WinHttp は HTTP/2 PING フレームの送信を開始します。 呼び出し元は、5000 ミリ秒未満のタイムアウト値を設定できません。

WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING

このオプションは、WinHttp 要求ハンドルに設定して、HTTP/2 応答に "Transfer-Encoding" ヘッダーが含まれている場合の WinHttp の動作を制御できます。 このような場合、このオプションが FALSE に設定されている場合、WinHttp はエラーを返 します

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

最初の HTTP/2 ストリーム受信ウィンドウ サイズと、WINHTTP_HTTP2_RECEIVE_WINDOW 構造体を使用してウィンドウ更新プログラムを送信するためのしきい値 設定します。

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

バッファーを使用して、HTTP/3 ハンドシェイク タイムアウトを PDWORD としてミリ秒単位で設定します。

WINHTTP_OPTION_HTTP3_INITIAL_RTT

msquic で使用される初期 RTT をミリ秒単位で構成します。

WINHTTP_OPTION_HTTP3_KEEPALIVE

接続のキープアライブ セマンティクスを有効にします。 バッファーを使用して、キープアライブ タイムアウトを PDWORD としてミリ秒単位で設定します。

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

要求の送信に使用される HTTP/3 ストリームのサーバー指定エラーを取得します。

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

セキュリティで保護された接続で、証明書失効リストをダウンロードできなかったセキュリティ証明書を使用できるようにします。

WINHTTP_OPTION_IPV6_FAST_FALLBACK

接続の IPv6 高速フォールバック (ハピアー アイボール) を有効にします。 この動作は、IPv6 が信頼性の低いネットワークでの接続時間を短縮するために RFC 6555 で説明されている Happy Eyeballs の動作に似ています。

  • 特定のホストに対して IPv6 アドレスと IPv4 アドレスの両方が解決された場合、WinHttp は、短い (300 ミリ秒) タイムアウトで最初に解決された IPv6 アドレスに接続することから始まります。
  • 接続に失敗した場合、WinHttp は標準タイムアウトで解決された最初の IPv4 アドレスへの接続を試みます。
  • 2 つ目の接続が失敗した場合、WinHttp は、解決された最初の IPv6 アドレスを標準タイムアウトで再試行します。
  • 3 つ目の接続が失敗した場合、WinHttp は残りのアドレスの既定の動作に戻り、接続が確立されるか、アドレスが残らなくなるまで、標準タイムアウトで各アドレスへの接続を試行します。

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

プロキシリターン接続応答を取得できるかどうかを取得します。

WINHTTP_OPTION_MATCH_CONNECTION_GUID

WINHTTP_MATCH_CONNECTION_GUID 構造体を受け取り、一致する接続で要求を処理するように WinHTTP に指示します。 WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIREDが設定されている場合は、一致する GUID を持つ接続のみを使用できます。 それ以外の場合は、一致する GUID を持つ接続と、GUID でマークされていない接続を使用できます。

WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER

HTTP/1.0 サーバーごとに許可される接続の最大数を含む符号なし long 整数値を設定または取得します。 既定値は INFINITE です。

適用対象: WINDOWS Vista SP1 以降。Windows Server 2008 以降。

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

サーバーごとに許可される接続の最大数を含む符号なし long 整数値を設定または取得します。 既定値は INFINITE です。

このオプションを 0 に設定すると、WinHTTP は接続数の制限を 2 に設定します。

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

WinHTTP がフォローするリダイレクトの最大数を設定します。既定値は 10 です。 この制限により、承認されていないサイトが多数のリダイレクトの後に WinHTTP クライアントを一時停止できなくなります。

適用対象: SP1 以降の Windows XP。Windows 2000 SP3 以降。

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

最終的な状態コードを WinHTTP クライアントに返す前に無視される Informational 100 - 199 状態コード応答の最大数。 情報 100 から 199 の状態コードは、最終的な状態コードの前にサーバーから送信でき、HTTP/1.1 の仕様で説明されています (詳細については、 RFC 2616 を参照してください)。 既定値は 10 です。

適用対象: SP1 以降の Windows XP。Windows 2000 SP3 以降。

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

接続を再利用するために応答からドレインされたデータの量にバインドされた 。バイト単位で指定されます。 既定値は 1 MB です。

適用対象: SP1 以降の Windows XP。Windows 2000 SP3 以降。

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

サーバー応答のヘッダー部分の最大サイズ (バイト単位で指定) に設定されたバインド。 このバインドは、無限のヘッダー データを含む応答を送信することで、クライアントを停止しようとする未承認のサーバーからクライアントを保護します。 既定値は 64 KB です。

適用対象: SP1 以降の Windows XP。Windows 2000 SP3 以降。

WINHTTP_OPTION_PARENT_HANDLE

このハンドルの親ハンドルを取得します。

WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT

Passport ログオン サーバーによって提供されるブランド設定テキスト 含む文字列を取得します。 このオプションは、ログオン サーバーが 401 状態コードで応答した直後に取得する必要があります。 アプリケーションは、返された文字列を保持するのに十分な大きさのバッファー サイズ (バイト単位) を渡す必要があります。

WINHTTP_OPTION_PASSPORT_COBRANDING_URL

Passport ログオン サーバーによって提供される ブランド グラフィックの URL を含む文字列を取得します。 このオプションは、ログオン サーバーが 401 状態コードで応答した直後に取得する必要があります。 アプリケーションは、返された文字列を保持するのに十分な大きさのバッファー サイズ (バイト単位) を渡す必要があります。

WINHTTP_OPTION_PASSPORT_RETURN_URL

Passport の戻り URL を取得する要求ハンドルに読み取り専用オプションを設定します。

WINHTTP_OPTION_PASSPORT_SIGN_OUT

セッション ハンドルのオプションを設定して、Passport ログインからサインアウトします。 アプリケーションは、 WINHTTP_OPTION_PASSPORT_RETURN_URLで取得された Passport の戻り URL を渡す必要があります。 戻り URL に関連するすべての Cookie がクリアされます。

WINHTTP_OPTION_PASSWORD

要求ハンドルに関連付けられているパスワードを含む文字列値を設定または取得します。

WINHTTP_OPTION_PROXY

既存のセッション ハンドルまたは要求ハンドルのプロキシ データを含む WINHTTP_PROXY_INFO 構造体を設定または取得します。 プロキシ データを取得する場合、アプリケーションは GlobalFree 関数を使用して、この構造体に含まれる lpszProxy 文字列と lpszProxyBypass 文字列を解放する必要があります (NULL 以外の場合)。 アプリケーションは 、NULL ハンドルを渡すことによって、グローバル プロキシ データ (既定のプロキシ) を照会できます。

WINHTTP_OPTION_PROXY_PASSWORD

プロキシへのアクセスに使用するパスワードを含む文字列値を設定または取得します。

WINHTTP_OPTION_PROXY_SPN_USED

認証時に WinHTTP が SSPI に提供したプロキシ サーバー プリンシパル名を取得します。 この文字列値は、認証エラーの後に SspiPromptForCredentials に 渡すために使用されます。

WINHTTP_OPTION_PROXY_USERNAME

プロキシへのアクセスに使用するユーザー名を含む文字列値を設定または取得します。

WINHTTP_OPTION_QUIC_STATS

RTT や送受信バイトなどの接続情報を含む QUIC_STATISTICS 構造体を取得します。

WINHTTP_OPTION_READ_BUFFER_SIZE

このオプションは非推奨です。効果はありません。

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

プロキシ応答エンティティを取得できるかどうかを設定します。 既定では、このオプションは無効になっています。

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

要求に対するすべての応答ヘッダーの受信を待機するために、タイムアウト値を含む符号なし長整数をミリ秒単位で設定または取得します。 WinHTTP がこのタイムアウト期間内にすべてのヘッダーを受信できない場合、要求は取り消されます。 既定のタイムアウト値は 90 秒です。

このタイムアウトは、ソケットからデータを受信した場合にのみチェックされます。 その結果、タイムアウトが切れると、サーバーからさらに多くのデータが到着するまで、クライアント アプリケーションに通知されません。 サーバーからデータが到着しない場合、クライアント アプリケーションのタイムアウト有効期限と通知の間の遅延は、WinHttpSetTimeouts 関数の dwReceiveTimeout パラメーターを使用して設定されたタイムアウト値と同じ大きさになる可能性があります。

WINHTTP_OPTION_RECEIVE_TIMEOUT

要求に対する部分的な応答を受信したり、データを読み取ったりするために、タイムアウト値を含む符号なし長整数をミリ秒単位で設定または取得します。 応答にこのタイムアウト値よりも長い時間がかかる場合、要求はキャンセルされます。 タイムアウトの既定値は 30 秒です。

WINHTTP_OPTION_REDIRECT_POLICY

30 倍の HTTP リダイレクト状態コードの処理に関する WinHTTP の動作を設定します。 このオプションは、セッションまたは要求ハンドルで、次のいずれかの値に設定できます。

項目 Description
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS すべてのリダイレクトが自動的に実行されます。
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP セキュリティで保護された (https) URL から安全でない (http) URL に由来するものを除き、すべてのリダイレクトが実行されます。 これが既定の設定です。
WINHTTP_OPTION_REDIRECT_POLICY_NEVER リダイレクトに従うことはありません。 30 倍の状態がアプリケーションに返されます。

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

ユーザー名とパスワードを含む URL を拒否します。 このオプションでは、ユーザー名またはパスワードが指定されていない場合でも、 username:password セマンティクスを含む URL も拒否されます。 たとえば、"u:p@hostname"、":@hostname"、"u:@hostname"、":p@hostname" はすべて無効としてフラグが設定されます。 無効な URL が関数に渡されると、 ERROR_WINHTTP_INVALID_URLが返されます。 このオプションは既定ではオフになっています。

WINHTTP_OPTION_REQUEST_ANNOTATION

指定された注釈名の要求注釈の取得と設定を有効にします。 これにより、呼び出し元は、後で取得するために文字列を要求に添付して、呼び出し元が役に立つと思われるカスタム ロジックによって要求を識別できます。

WINHTTP_OPTION_REQUEST_PRIORITY

このオプションは非推奨です。効果はありません。

WINHTTP_OPTION_REQUEST_STATS

要求の統計情報を取得します。 使用可能な統計の一覧については、「 WINHTTP_REQUEST_STATS」を参照してください。

WINHTTP_OPTION_REQUEST_TIMES

要求のタイミング情報を取得します。 使用可能なタイミングの一覧については、「 WINHTTP_REQUEST_TIMES」を参照してください。

WINHTTP_OPTION_REQUIRE_STREAM_END

このオプションは、"Content-Length" 応答ヘッダーを無視し、END_STREAM フラグが受信されるまでストリームで受信を続行するように WinHttp に指示します。

WINHTTP_OPTION_RESOLUTION_HOSTNAME

このオプションは、送信前に WinHttp 要求ハンドルで設定できます。 設定した場合、WinHttp は DNS 解決のホスト名として呼び出し元から提供された文字列を使用します。

WINHTTP_OPTION_RESOLVE_TIMEOUT

ホスト名を解決するために、タイムアウト値を含む符号なし長整数をミリ秒単位で設定または取得します。 既定のタイムアウト値は INFINITE です。 既定値以外の値を指定すると、名前解決ごとに 1 つのスレッド作成のオーバーヘッドが発生します。

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

サーバー証明書チェーンを構築するときにスレッドの偽装を元に戻し、代わりにプロセス トークンを強制的に使用します。

WINHTTP_OPTION_SECURE_PROTOCOLS

許容されるセキュリティで保護されたプロトコルを指定する符号なし long 整数値を設定します。

  • Windows 11、Windows 10、Windows 8.1。 既定では、SSL3、TLS1.0、TLS1.1、TLS1.2 のみが有効になります。
  • Windows 8と Windows 7。 既定では、SSL3 と TLS1 のみが有効になっています。

値には、次の値の 1 つ以上の組み合わせを指定できます。

項目 Description
WINHTTP_FLAG_SECURE_PROTOCOL_ALL Secure Sockets Layer (SSL) 2.0、SSL 3.0、およびトランスポート層セキュリティ (TLS) 1.0 プロトコルを使用できます。
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 SSL 2.0 プロトコルを使用できます。
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 SSL 3.0 プロトコルを使用できます。
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 TLS 1.0 プロトコルを使用できます。
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 TLS 1.1 プロトコルを使用できます。
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 TLS 1.2 プロトコルを使用できます。
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 TLS 1.3 プロトコルを使用できます。

TLS 1.1 または TLS 1.2 プロトコルのサポートを追加する必要があるが、WINHTTP_OPTION_SECURE_PROTOCOLSの適切な値を使用するようにアプリケーションを再コンパイルできない場合 は、代わりにレジストリ エントリを DefaultSecureProtocols 追加できます。 このレジストリ エントリを使用すると、 WINHTTP_OPTION_SECURE_PROTOCOLS フラグを使用するときに使用する SSL プロトコルを指定できます。

重要

以下の手順では、レジストリの変更を行います。 ただし、レジストリを正しく変更していない場合、重大な問題が発生する可能性があります。 そのため、これらの手順に注意して従ってください。 さらに安全を考慮して、レジストリのバックアップをとってから変更を行ってください。 バックアップがあれば、問題が生じた場合でもレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、「 Windows でレジストリをバックアップおよび復元する方法」を参照してください。

アプリケーションが WINHTTP_OPTION_SECURE_PROTOCOLSを指定すると、システムはレジストリ エントリを DefaultSecureProtocols チェックし、存在する場合は、レジストリ エントリで指定されたプロトコルで WINHTTP_OPTION_SECURE_PROTOCOLS で指定された既定のプロトコルを DefaultSecureProtocols オーバーライドします。 レジストリ エントリが存在しない場合、WinHTTP では 、WINHTTP_OPTION_SECURE_PROTOCOLSの既存のオペレーティング システムの既定値が使用されます。 これらの WinHTTP の既定値は、既存の優先順位規則に従い、 WinHttpSetOption によってアプリケーションごとに設定された Secure Channel (Schannel) 無効なプロトコルとプロトコルによって無効になります。

レジストリ エントリは DefaultSecureProtocols 、次のパスに追加できます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

x64 ベースのコンピューターでは、パスにも を追加 DefaultSecureProtocols する Wow6432Node 必要があります。

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

レジストリ値は DWORD ビットマップです。 使用する値は、目的のプロトコルに対応する値を追加することによって決定されます。

DefaultSecureProtocols 値 プロトコルが有効
0x00000008 既定で SSL 2.0 を有効にする
0x00000020 既定で SSL 3.0 を有効にする
0x00000080 既定で TLS 1.0 を有効にする
0x00000200 既定で TLS 1.1 を有効にする
0x00000800 既定で TLS 1.2 を有効にする

たとえば、TLS 1.1 と TLS 1.2 を指定する WINHTTP_OPTION_SECURE_PROTOCOLS の既定値をオーバーライドする場合です。 その場合は、TLS 1.1 (0x00000200) の値と TLS 1.2 (0x00000800) の値を受け取り、それらを電卓 (プログラマ モード) でまとめて追加すると、結果のレジストリ値が0x00000A00されます。

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

SSL/TLS サーバーの証明書を WINHTTP_CERTIFICATE_INFO 構造に取得します。 アプリケーションは、LocalFree を使用して lpszSubjectInfo メンバーと lpszIssuerInfo メンバーを解放する必要があります。

WINHTTP_OPTION_SECURITY_FLAGS

ハンドルのセキュリティ フラグを含む符号なし long 整数値を設定または取得します。 次の値を組み合わせて使用できます。

項目 Description
SECURITY_FLAG_IGNORE_CERT_CN_INVALID 証明書で無効な共通名を許可します。つまり、アプリケーションで指定されたサーバー名が証明書の共通名と一致しません。 このフラグが設定されている場合、アプリケーションは WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID コールバックを受け取りません。
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID 無効な証明書の日付 (有効期限が切れているか、まだ有効でない証明書) を許可します。 このフラグが設定されている場合、アプリケーションは WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID コールバックを受け取りません。
SECURITY_FLAG_IGNORE_UNKNOWN_CA 無効な証明機関を許可します。 このフラグが設定されている場合、アプリケーションは WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA コールバックを受け取りません。
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE サーバー以外の証明書 (クライアント証明書など) を使用してサーバーの ID を確立できるようにします。
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE 弱い署名を無視できるようにします。
このフラグは、Windows 7 および Windows Server 2008 R2 以降の各 OS のロールアップ更新プログラムで使用できます。
SECURITY_FLAG_SECURE セキュリティで保護された転送を使用します。 これは、 WinHttpQueryOption の呼び出しでのみ返されます。
SECURITY_FLAG_STRENGTH_MEDIUM 中 (56 ビット) 暗号化を使用します。 これは、 WinHttpQueryOption の呼び出しでのみ返されます。
SECURITY_FLAG_STRENGTH_STRONG 強力な (128 ビット) 暗号化を使用します。 これは、 WinHttpQueryOption の呼び出しでのみ返されます。
SECURITY_FLAG_STRENGTH_WEAK 弱い (40 ビット) 暗号化を使用します。 これは、 WinHttpQueryOption の呼び出しでのみ返されます。

WINHTTP_OPTION_SECURITY_INFO

要求の SChannel 接続と暗号情報を再処理します。

WINHTTP_OPTION_SECURITY_KEY_BITNESS

暗号化キーの暗号強度を含む符号なし long 整数値を取得します。 数値が大きいほど、暗号強度の暗号化が強力であることを示します。

WINHTTP_OPTION_SEND_TIMEOUT

要求の送信またはデータの書き込みを行うために、タイムアウト値を含む符号なし long 整数値をミリ秒単位で設定または取得します。 要求の送信にタイムアウトより長い時間がかかる場合、送信操作は取り消されます。 既定のタイムアウトは 30 秒です。

WINHTTP_OPTION_SERVER_CBT

チャネル バインド トークン (CBT) を指定する SecPkgContext_Bindings 構造体へのポインターを取得します。

チャネル バインド トークンは、セキュリティで保護されたトランスポート チャネルのプロパティであり、認証チャネルをセキュリティで保護されたトランスポート チャネルにバインドするために使用されます。 このトークンは、SSL 接続が確立された後にのみ、このオプションによって取得できます。

注意

このオプションと lpBuffer の null 値を WinHttpQueryOption に渡すと、lpdwBufferLength パラメーターのバッファーに必要なバイト サイズとERROR_INSUFFICIENT_BUFFERが返されます。 この返されるバッファー サイズの値は、チャネル バインド トークンのクエリを実行する後続の呼び出しで渡すことができます。 チャネル バインド トークンに基づいて要求ヘッダーを変更する場合は、WINHTTP_CALLBACK_STATUS_REQUESTを処理するときに、これらの手順が必要です。 Windows XP と Vista では、このコールバック中の要求ヘッダーの変更はサポートされないことに注意してください。

WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT

サーバー認定チェーン コンテキストを取得します。 WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT を渡して、ネゴシエートされた SSL 接続中に受信したサーバー証明書チェーンの CERT_CHAIN_CONTEXT への重複したポインターを取得できます。 クライアントは、バッファーに格納される、返されたPCCERT_CONTEXTポインターで CertFreeCertificateContext を呼び出す必要があります。

WINHTTP_OPTION_SERVER_CERT_CONTEXT

サーバー認定コンテキストを取得します。 WINHTTP_OPTION_SERVER_CERT_CONTEXT 渡して、ネゴシエートされた SSL 接続中に受信したサーバー証明書の CERT CONTEXT への重複したポインターを取得できます。 クライアントは、バッファーに格納される、返されたPCCERT_CONTEXTポインターで CertFreeCertificateContext を呼び出す必要があります。

WINHTTP_OPTION_SERVER_SPN_USED

認証時に SSPI に WinHTTP が指定したサーバー サーバー プリンシパル名を取得します。 この文字列値は、認証エラーの後に SspiPromptForCredentials に 渡すことができます。

WINHTTP_OPTION_SPN

Kerberos 認証またはネゴシエート Kerberos 認証用に SPN (サービス プリンシパル名) が構築されている場合に、サーバー ポート番号を含めるか削除します。 このフラグは、次のいずれかの値です。

項目 Description
WINHTTP_DISABLE_SPN_SERVER_PORT サーバーのポート番号を削除します。
WINHTTP_ENABLE_SPN_SERVER_PORT サーバーのポート番号が含まれます。

WINHTTP_OPTION_STREAM_ERROR_CODE

このオプションは WinHttp 要求ハンドルで照会でき、HTTP ストリームで受信したRST_STREAM フレームによって示されるエラー コードを返します。

WINHTTP_OPTION_TCP_FAST_OPEN

接続に対して TCP Fast Open を有効にします。

WINHTTP_OPTION_TCP_KEEPALIVE

このオプションは、WinHttp セッション ハンドルで設定して、基になるソケットで TCP キープアライブ動作を有効にすることができます。 tcp_keepalive構造体を受け取ります。

WINHTTP_OPTION_TLS_FALSE_START

接続に対して TLS False Start を有効にします。

WINHTTP_OPTION_TCP_PRIORITY_STATUS

WINHTTP_OPTION_TCP_PRIORITY_HINTを使用して、TCP ソケット セットのヒント付き優先度を照会します。 詳細については、 SIO_SET_PRIORITY_HINT のドキュメントを参照してください。

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

このオプションを WinHttp セッション ハンドルで設定すると、新しいプロトコル バージョンで TLS ハンドシェイクエラーが発生した場合に TLS 1.0 へのフォールバックを許可するかどうかを制御できます。

WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT

特定のセッションに対して最後のコールバックが完了したときに設定されるイベントを受け取ります。 このフラグは、セッション ハンドルで使用する必要があります。 イベントは、WinHTTP によって設定されるまで閉じることができません。

WINHTTP_OPTION_UNSAFE_HEADER_PARSING

このオプションは内部使用のために予約されており、呼び出さないでください。

WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET

WinHttpSendRequest を使用して WebSocket ハンドシェイク プロセスを開始するようにスタックに指示します。 このオプションはパラメーターを受け取らなくなります。

WINHTTP_OPTION_URL

ダウンロードしたリソースの完全な URL を含む文字列値を取得します。 検索文字列やアンカーなどの追加データが元の URL に含まれている場合、または呼び出しがリダイレクトされた場合、返される URL は元の URL とは異なります。 アプリケーションは、返された URL をワイド文字で保持するのに十分な大きさのバッファー (バイト単位) を渡す必要があります。

WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS

BOOL を受け取り、セッション ハンドルのみを設定できます。 オプションが設定された後にのみ、セッション ハンドルから作成されたハンドルに反映されます。 TRUE の場合、このオプションは WinInet からプッシュダウンされたグローバル サーバー資格情報の使用を最後の手段として引き起こします。 このオプションの既定値は FALSE です。 このオプションには、レジストリ キー HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! が必要です。ShareCredsWithWinHttp. このレジストリ キーは、既定では存在しません。 設定すると、WinINet は資格情報を WinHTTP に送信します。 WinHttp が認証チャレンジを受け取るたびに、現在のハンドルに資格情報が設定されていない場合は、WinINet によって提供される資格情報が使用されます。

WINHTTP_OPTION_USE_SESSION_SCH_CRED

エンドポイントごとの既定の資格情報を持つ代わりに、セッション内のすべてのエンドポイントに対して既定で使用する 1 つの資格情報を設定できます。 これにより、資格情報管理のオーバーヘッドが削減され、パフォーマンスが向上する可能性があります。 クライアント証明書が明示的に指定されている場合、この既定の資格情報は無効であることに注意してください。

WINHTTP_OPTION_USER_AGENT

WinHttpAddRequestHeaders または WinHttpSendRequest によって追加されたヘッダーによってオーバーライドされない限り、WinHttpOpen によって提供され、後続の WinHttpSendRequest 関数で使用されるハンドルに対してユーザー エージェント文字列を設定または取得します。 ユーザー エージェントを取得する場合、アプリケーションは、返された URL をワイド文字で保持するのに十分な大きさのバッファー (バイト単位) を渡す必要があります。 ユーザー エージェントを設定する場合、バッファー サイズは文字列の長さ (文字数) と NULL 終端記号です。

WINHTTP_OPTION_USERNAME

ユーザー名を含む文字列を設定または取得します。

WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT

WinHttpWebSocketClose が閉じるハンドシェイクの完了を待機する時間をミリ秒単位で設定します。 既定は 10 秒です。

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL

接続経由でキープアライブ パケットを送信する間隔をミリ秒単位で設定します。 既定の間隔は 30000 (30 秒) です。 最小間隔は 15000 (15 秒) です。 WinHttpSetOption を使用して 15000 より小さい値を設定すると、ERROR_INVALID_PARAMETERでが返されます。

注意

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVALの既定値は、HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval から読み取られます。 値が設定されていない場合は、既定値の 30000 が使用されます。 キープアライブ間隔を 15,000 ミリ秒より低くすることはできません。

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

WebSocket 接続で使用する受信バッファー サイズを指定する DWORD を設定または取得します。

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

WebSocket 接続で使用する送信バッファー サイズを指定する DWORD を設定または取得します。

WINHTTP_OPTION_WORKER_THREAD_COUNT

スレッド プールが非同期完了に使用するワーカー スレッドの数を指定する符号なし long 整数値を設定します。 このオプションの既定値は 0 で、ワーカー スレッドの数がシステム上の CPU の数と等しいことを指定します。 このオプションは、非同期操作が発生する前に NULLHINTERNET ハンドルでのみ設定できます。 このオプションは 1 回だけ設定できます。

適用対象: Windows 7 以降。Windows Server 2008 R2 以降。

WINHTTP_OPTION_WRITE_BUFFER_SIZE

このオプションは非推奨です。効果はありません。

解説

次の表は、処理できるハンドル、クエリと設定が可能かどうか、および使用されるデータ型を指定することで、オプション フラグの一覧を示しています。 "X" は、オプション フラグが関数またはハンドルで使用するために有効であることを示し、 "-" はオプション フラグが無効であることを指定します。

サポートされていない Windows バージョンでオプション フラグを設定またはクエリしようとすると、 ERROR_WINHTTP_INVALID_OPTIONが発生します。

オプション フラグとデータ型 セッション ハンドル 要求ハンドル クエリ オプション SET オプション Windows の最小バージョン
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS
BOOL
X - - X -
WINHTTP_OPTION_AUTOLOGON_POLICY
DWORD
- X - X -
WINHTTP_OPTION_BACKGROUND_CONNECTIONS
DWORD
X - - X Windows 10 バージョン 21H1
WINHTTP_OPTION_CALLBACK
LPVOID
X X X X -
WINHTTP_OPTION_CLIENT_CERT_CONTEXT
CERT_CONTEXT
- X - X Windows Vista
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST
SecPkgContext_IssuerListInfoEx
- X X - Windows Vista
WINHTTP_OPTION_CODEPAGE
DWORD
X - - X -
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
DWORD
X - - X -
WINHTTP_OPTION_CONNECT_RETRIES
DWORD
X X X X -
WINHTTP_OPTION_CONNECT_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_CONNECTION_INFO
WINHTTP_CONNECTION_INFO
- X X - -
WINHTTP_OPTION_CONNECTION_STATS_V0
TCP_INFO_v0
- X X - Windows 10 バージョン 1903
WINHTTP_OPTION_CONNECTION_STATS_V1
TCP_INFO_v1
- X X - Windows 10 バージョン 2004
WINHTTP_OPTION_CONTEXT_VALUE
DWORD_PTR
X X X X -
WINHTTP_OPTION_DECOMPRESSION
DWORD
X X - X Windows 8.1
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING
BOOL
X - - X Windows 10 バージョン 21H1
WINHTTP_OPTION_DISABLE_FEATURE
DWORD
- X - X -
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
BOOL
X - - X Windows 10 バージョン 1903
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
BOOL
X X - X Windows 10 バージョン 1809
WINHTTP_OPTION_ENABLE_FEATURE
DWORD
* * - X -
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
DWORD
X X - X Windows 10 バージョン 1607
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT
BOOL
X - - X Windows 10 バージョン 21H1
WINHTTP_OPTION_ENABLETRACING
DWORD
- - X X -
WINHTTP_OPTION_ENCODE_EXTRA
BOOL
X X - X Windows 10 バージョン 1803
WINHTTP_OPTION_EXPIRE_CONNECTION
N/A
- X - X Windows 10 バージョン 1903
WINHTTP_OPTION_EXTENDED_ERROR
DWORD
X X X - -
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
BOOL
X - - X Windows 10 バージョン 21H1
WINHTTP_OPTION_GLOBAL_PROXY_CREDS
WINHTTP_CREDS
X X - X -
WINHTTP_OPTION_GLOBAL_SERVER_CREDS
WINHTTP_CREDS_EX
X X - X -
WINHTTP_OPTION_HANDLE_TYPE
DWORD
X X X - -
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED
BOOL
X X - X Windows 10 バージョン 1903
WINHTTP_OPTION_HTTP_PROTOCOL_USED
DWORD
- X X - Windows 10 バージョン 1607
WINHTTP_OPTION_HTTP_VERSION
HTTP_VERSION_INFO
X X X X -
WINHTTP_OPTION_HTTP2_KEEPALIVE
DWORD
X - - X Windows 10 バージョン 21H1
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
BOOL
X X - X Windows 10 バージョン 21H1
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
BOOL
- X - X Windows 10 バージョン 2004
WINHTTP_OPTION_IPV6_FAST_FALLBACK
BOOL
X - - X Windows 10 バージョン 1903
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE
BOOL
X X X - -
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
DWORD
X - X X -
WINHTTP_OPTION_MAX_CONNS_PER_SERVER
DWORD
X - X X -
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS
DWORD
X X X X -
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE
DWORD
X X X X -
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE
DWORD
X X X X -
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE
DWORD
X X X X -
WINHTTP_OPTION_PARENT_HANDLE
HINTERNET
X X X - -
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT
LPWSTR
- X X - -
WINHTTP_OPTION_PASSPORT_COBRANDING_URL
LPWSTR
- X X - -
WINHTTP_OPTION_PASSPORT_RETURN_URL
LPVOID
- X X - -
WINHTTP_OPTION_PASSPORT_SIGN_OUT
LPVOID
X - - X -
WINHTTP_OPTION_PASSWORD
LPWSTR
- X X X -
WINHTTP_OPTION_PROXY
WINHTTP_PROXY_INFO
X X X X -
WINHTTP_OPTION_PROXY_PASSWORD
LPWSTR
- X X X -
WINHTTP_OPTION_PROXY_SPN_USED
LPWSTR
- X X - -
WINHTTP_OPTION_PROXY_USERNAME
LPWSTR
- X X X -
WINHTTP_OPTION_READ_BUFFER_SIZE
DWORD
- X X X -
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE
BOOL
X X - X -
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_RECEIVE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_REDIRECT_POLICY
DWORD
X X X X -
WINHTTP_OPTION_REJECT_USERPWD_IN_URL
BOOL
- X - X -
WINHTTP_OPTION_REQUEST_PRIORITY
DWORD
- X X X -
WINHTTP_OPTION_REQUEST_STATS
WINHTTP_REQUEST_STATS
- X X - Windows 10 バージョン 1903
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_REQUEST_TIMES
- X X - Windows 10 バージョン 1903
WINHTTP_OPTION_REQUIRE_STREAM_END
BOOL
X X - X Windows 10 バージョン 21H1
WINHTTP_OPTION_RESOLUTION_HOSTNAME
LPWSTR
- X - X Windows 10 バージョン 21H1
WINHTTP_OPTION_RESOLVE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_SECURE_PROTOCOLS
DWORD
X - - X -
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
WINHTTP_CERTIFICATE_INFO
- X X - -
WINHTTP_OPTION_SECURITY_FLAGS
DWORD
- X X X -
WINHTTP_OPTION_SECURITY_INFO
WINHTTP_SECURITY_INFO
- X X - Windows 10 バージョン 2004
WINHTTP_OPTION_SECURITY_KEY_BITNESS
DWORD
- X X - -
WINHTTP_OPTION_SEND_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_SERVER_CBT
SecPkgContext_Bindings*
- X X - -
WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
CERT_CHAIN_CONTEXT
- X X - Windows 10 バージョン 2004
WINHTTP_OPTION_SERVER_CERT_CONTEXT
CERT CONTEXT
- X X - -
WINHTTP_OPTION_SERVER_SPN_USED
LPWSTR
- X X - -
WINHTTP_OPTION_SPN
DWORD
- X - X -
WINHTTP_OPTION_STREAM_ERROR_CODE
DWORD
- X X - Windows 10 バージョン 21H1
WINHTTP_OPTION_TCP_FAST_OPEN
BOOL
X - - X Windows 10 バージョン 2004
WINHTTP_OPTION_TCP_KEEPALIVE
tcp_keepalive
X - - X Windows 10 バージョン 2004
WINHTTP_OPTION_TLS_FALSE_START
BOOL
X - - X Windows 10 バージョン 2004
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
BOOL
X - - X Windows 10 バージョン 21H1
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
HINTERNET
X - - X -
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
DWORD
- X - X -
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
N/A
- X - X -
WINHTTP_OPTION_URL
LPWSTR
- X X - -
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
BOOL
X X - X -
WINHTTP_OPTION_USER_AGENT
LPWSTR
X - X X -
WINHTTP_OPTION_USERNAME
LPWSTR
- X X X -
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT
DWORD
- - X X -
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL
DWORD
- - X X -
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE
DWORD
X X X X Windows 8.1
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE
DWORD
X X X X Windows 8.1
WINHTTP_OPTION_WORKER_THREAD_COUNT
DWORD
- - - X -
WINHTTP_OPTION_WRITE_BUFFER_SIZE
DWORD
- X X X -

注意

Windows XP と Windows 2000 については、「 ランタイム要件」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP、Windows 2000 Professional sp3 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003、Windows 2000 Server SP3 [デスクトップ アプリのみ]
再頒布可能パッケージ Windows XP および Windows 2000 で WinHTTP 5.0 およびインターネット エクスプローラー 5.01 以降。
ヘッダー Winhttp.h

関連項目