オプション フラグ
WinHttpQueryOption と WinHttpSetOption では、次のオプション フラグがサポートされています。
既定値は FALSE です。 TRUE に設定した場合、クライアント アプリケーションによって状態コールバックがブロックされている場合、WinHTTP は進行状況を保証しません。
クライアント アプリケーションは、ブロックせずにコールバック内で最小限の操作を実行し、可能な限り迅速に返すように特別な注意を払う必要があります。特に、後続の WinHTTP 呼び出しを待つことはできません。 これらのガイドラインに従っていない場合は、パフォーマンスに悪影響を及ぼすか、アプリケーションがハングする可能性があります。 規定の方法で使用すると、このオプションによってパフォーマンスが向上する可能性があります。
次のいずれかの値を持つ 自動ログオン ポリシー を指定する符号なし long 整数値を設定します。
項目 | Description |
---|---|
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH | 既定の資格情報は使用されません。 このフラグは、実際のマシン名でサーバーを指定した場合にのみ有効であることに注意してください。 "localhost" または IP アドレスでサーバーを指定した場合、有効になりません。 |
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW | すべての要求に対して、既定の資格情報を使用して認証されたログオンが実行されます。 |
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM | 既定の資格情報を使用して認証されたログオンは、ローカル イントラネット上の要求に対してのみ実行されます。 |
セッション ハンドルでこのオプションを設定する場合は、開く接続の数を渡す必要があります。 次に、最初に要求を送信すると、1 つの接続のみを開くのではなく、WinHttp によって複数の接続が並列で開かれます。 これにより、同じ宛先への後続の要求のパフォーマンスが向上し、接続確立のオーバーヘッドが発生しません。
WinHttpSetStatusCallback で設定されたコールバック関数へのポインターを取得します。
クライアント証明書のコンテキストを設定します。 アプリケーションが ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDEDを受信した場合は、要求を再試行する前に WinHttpSetOption を呼び出して証明書を指定する必要があります。 このオプションの処理の一環として、WinHttp は、呼び出し元が指定した証明書コンテキストで CertDuplicateCertificateContext を呼び出して、証明書コンテキストを呼び出し元が個別に解放できるようにします。
注意
アプリケーションは、証明書コンテキストが取得された証明書ストアの CertCloseStore の呼び出しで、CERT_CLOSE_STORE_FORCE_FLAG フラグを使用して証明書ストアを閉じようとしないでください。 アクセス違反が発生する可能性があります。
サーバーがクライアント証明書、 WinHttpSendRequest、または WinHttpReceiveResponse を要求すると、 ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED エラーが返されます。 サーバーが証明書を要求しても不要な場合、アプリケーションはこのオプションを指定して証明書がないことを示すことができます。 サーバーは、別の認証スキームを選択することも、サーバーへの匿名アクセスを許可することもできます。 アプリケーションは、次のコード例に示すように、WinHttpSetOption の lpBuffer パラメーターに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 オプション」を参照してください。
WinHttpSendRequest または WinHttpReceiveResponse からのエラーがERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDEDされたときに、SecPkgContext_IssuerListInfoEx構造体を取得します。 構造体の発行者リストには、サーバーから受け入れ可能な証明機関 (CA) の一覧が含まれています。 クライアント アプリケーションは、CA リストをフィルター処理して、SSL 認証用のクライアント証明書を取得できます。
または、サーバーがクライアント証明書を要求するが、それを必要としない場合、アプリケーションは WINHTTP_OPTION_CLIENT_CERT_CONTEXT オプションを使用して WinHttpSetOption を呼び出すことができます。 詳細については、「 WINHTTP_OPTION_CLIENT_CERT_CONTEXT オプション」を参照してください。
URL の処理に使用する コード ページ (つまり、クエリ文字列) を設定します。 既定値は UTF8 です。
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 がホストへの接続を試行する回数を含む符号なし長整数を設定または取得します。 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 回です。
タイムアウト値を含む符号なし長整数をミリ秒単位で設定または取得します。 このオプションを infinite (0xFFFFFFFF) に設定すると、このタイマーが無効になります。
TCP 接続要求にこのタイムアウト値より長い時間がかかる場合、要求は取り消されます。 既定のタイムアウトは 60 秒です。 1 つのホスト (マルチホーム ホスト) の複数の IP アドレスに接続しようとすると、タイムアウト制限は個々の接続に対するものです。
WinHttpReceiveResponse が返されたときに応答を生成した要求の送信元と宛先の IP アドレスとポートを取得します。 アプリケーションは、WINHTTP_OPTION_CONNECTION_INFO オプションを使用して WinHttpQueryOption を呼び出し、lpBuffer パラメーターにWINHTTP_CONNECTION_INFO構造体を提供します。 詳細については、「 WINHTTP_CONNECTION_INFO」を参照してください。
適用対象: SP2 以降の Windows XP。WINDOWS 2003 SP1 以降。
WinHTTP 要求ハンドルに関連付けられている接続を GUID でマークします。 これにより、 WINHTTP_OPTION_MATCH_CONNECTION_GUID オプションを使用して、どの接続グループを使用するかをカスタム制御できます。
要求によって使用される基になる接続の TCP_INFO_v0 構造体を取得します。 返される構造体には、同じ接続経由で送信された以前の要求からの統計が含まれている場合があります。
注意
このオプションは 、WINHTTP_OPTION_CONNECTION_STATS_V1によって置き換えられます。
要求によって使用される基になる接続の TCP_INFO_v1 構造体を取得します。 返される構造体には、同じ接続経由で送信された以前の要求からの統計が含まれている場合があります。
この HINTERNET ハンドルに関連付けられているコンテキスト値へのポインターを含むDWORD_PTRを設定または取得します。 バッファーに格納されている値が使用され、 WINHTTP_OPTION_CONTEXT_VALUE オプション フラグに新しい値が割り当てられます。
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 セッション ハンドルでこのオプションを設定すると、サーバー証明書チェーンが構築されているかどうかを有効または無効にすることができます。
次の 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 セッションで次のプロキシ認証プラクティスの 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 が下位バージョンのセキュリティ プロトコルとの接続を再試行できないようにします。
既存の接続で次に使用可能なストリームを待機するのではなく、同時ストリームの最大制限に達したときに、新しい要求で追加の HTTP/2 接続を開くよう許可します。
現在有効になっている機能を指定する符号なし long 整数値を設定します。 次のいずれかの値を指定できます。
項目 | Description |
---|---|
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION | 有効にすると、WinHTTP は SSL 証明書認証操作の間、クライアントの偽装を一時的に元に戻します。 この値は、セッション ハンドルでのみ設定できます。 |
WINHTTP_ENABLE_SSL_REVOCATION | 有効にした場合、WinHTTP は SSL 失効を許可します。 この値は、要求ハンドルでのみ設定できます。 |
許容される高度な 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 セッション ハンドルで設定して、HTTP/2 が使用されているときに WinHttp が呼び出し元指定のクライアント証明書コンテキストを使用できるようにします。
トレースが現在有効かどうかを指定する BOOL 値を設定します。 このオプションは、 NULLHINTERNET ハンドルでのみ設定できます。 WinHTTP トレースの収集に関するページも参照してください。
パスとクエリ文字列の URL パーセント エンコードを有効にします。
または、WinHttp を呼び出す前にパーセントエンコードすることもできます。
このオプションは、まだアクティブ (送受信中) の要求ハンドルでのみ設定できます。 このオプションを設定すると、渡された要求ハンドルに関連付けられている接続で要求の処理を停止するように WinHttp に指示されます。 このオプションがで呼び出された要求ハンドルが完了すると、接続は閉じられます。 このオプションはパラメーターを受け取りません。
このスレッド コンテキストで最後に返されたERROR_WINHTTP_* エラー メッセージにマップされた Microsoft Windows Sockets エラー コードを含む符号なし long 整数値を取得します。 ハンドル値として NULL を 渡すことができます。
指定されたオプション フラグがこのバージョンの WinHTTP でサポートされているかどうかを確認します。
既定では、WinHttp が要求を送信するときに、要求を処理するための使用可能な接続がない場合、WinHttp は新しい接続の確立を試み、要求はこの新しい接続にバインドされます。 このオプションを設定すると、そのような要求は、代わりに、使用可能になる最初の接続で提供され、必ずしも確立されるわけではありません。
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 を設定する必要があります。
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 を設定する必要があります。
渡された HINTERNET ハンドルの型を含む符号なし long 整数値を取得します。 戻り値は次のいずれかになります。
項目 | Description |
---|---|
WINHTTP_HANDLE_TYPE_CONNECT | ハンドルは接続ハンドルです。 |
WINHTTP_HANDLE_TYPE_REQUEST | ハンドルは要求ハンドルです。 |
WINHTTP_HANDLE_TYPE_SESSION | ハンドルはセッション ハンドルです。 |
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOLが有効にしたプロトコルバージョン以外のバージョンが要求に使用されないようにします。
指定された要求で使用された高度な HTTP バージョンを示す DWORD を取得します。 使用可能な値の一覧については、「 WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL」を参照してください。
サポートされている HTTP バージョンを含む HTTP_VERSION_INFO 構造体を設定または取得します。 これはプロセス全体のオプションです。ハンドルに NULL を 使用します。
このオプションをセッション ハンドルに設定すると、WinHttp でキープアライブ メカニズムとして HTTP/2 PING フレームを使用できます。 呼び出し元はタイムアウトをミリ秒単位で指定し、そのタイムアウト期間に接続にアクティビティがない場合、WinHttp は HTTP/2 PING フレームの送信を開始します。 呼び出し元は、5000 ミリ秒未満のタイムアウト値を設定できません。
このオプションは、WinHttp 要求ハンドルに設定して、HTTP/2 応答に "Transfer-Encoding" ヘッダーが含まれている場合の WinHttp の動作を制御できます。 このような場合、このオプションが FALSE に設定されている場合、WinHttp はエラーを返 します。
最初の HTTP/2 ストリーム受信ウィンドウ サイズと、WINHTTP_HTTP2_RECEIVE_WINDOW 構造体を使用してウィンドウ更新プログラムを送信するためのしきい値 を 設定します。
バッファーを使用して、HTTP/3 ハンドシェイク タイムアウトを PDWORD としてミリ秒単位で設定します。
msquic で使用される初期 RTT をミリ秒単位で構成します。
接続のキープアライブ セマンティクスを有効にします。 バッファーを使用して、キープアライブ タイムアウトを PDWORD としてミリ秒単位で設定します。
要求の送信に使用される HTTP/3 ストリームのサーバー指定エラーを取得します。
セキュリティで保護された接続で、証明書失効リストをダウンロードできなかったセキュリティ証明書を使用できるようにします。
接続の IPv6 高速フォールバック (ハピアー アイボール) を有効にします。 この動作は、IPv6 が信頼性の低いネットワークでの接続時間を短縮するために RFC 6555 で説明されている Happy Eyeballs の動作に似ています。
- 特定のホストに対して IPv6 アドレスと IPv4 アドレスの両方が解決された場合、WinHttp は、短い (300 ミリ秒) タイムアウトで最初に解決された IPv6 アドレスに接続することから始まります。
- 接続に失敗した場合、WinHttp は標準タイムアウトで解決された最初の IPv4 アドレスへの接続を試みます。
- 2 つ目の接続が失敗した場合、WinHttp は、解決された最初の IPv6 アドレスを標準タイムアウトで再試行します。
- 3 つ目の接続が失敗した場合、WinHttp は残りのアドレスの既定の動作に戻り、接続が確立されるか、アドレスが残らなくなるまで、標準タイムアウトで各アドレスへの接続を試行します。
プロキシリターン接続応答を取得できるかどうかを取得します。
WINHTTP_MATCH_CONNECTION_GUID 構造体を受け取り、一致する接続で要求を処理するように WinHTTP に指示します。 WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIREDが設定されている場合は、一致する GUID を持つ接続のみを使用できます。 それ以外の場合は、一致する GUID を持つ接続と、GUID でマークされていない接続を使用できます。
HTTP/1.0 サーバーごとに許可される接続の最大数を含む符号なし long 整数値を設定または取得します。 既定値は INFINITE です。
適用対象: WINDOWS Vista SP1 以降。Windows Server 2008 以降。
サーバーごとに許可される接続の最大数を含む符号なし long 整数値を設定または取得します。 既定値は INFINITE です。
このオプションを 0 に設定すると、WinHTTP は接続数の制限を 2 に設定します。
WinHTTP がフォローするリダイレクトの最大数を設定します。既定値は 10 です。 この制限により、承認されていないサイトが多数のリダイレクトの後に WinHTTP クライアントを一時停止できなくなります。
適用対象: SP1 以降の Windows XP。Windows 2000 SP3 以降。
最終的な状態コードを WinHTTP クライアントに返す前に無視される Informational 100 - 199 状態コード応答の最大数。 情報 100 から 199 の状態コードは、最終的な状態コードの前にサーバーから送信でき、HTTP/1.1 の仕様で説明されています (詳細については、 RFC 2616 を参照してください)。 既定値は 10 です。
適用対象: SP1 以降の Windows XP。Windows 2000 SP3 以降。
接続を再利用するために応答からドレインされたデータの量にバインドされた 。バイト単位で指定されます。 既定値は 1 MB です。
適用対象: SP1 以降の Windows XP。Windows 2000 SP3 以降。
サーバー応答のヘッダー部分の最大サイズ (バイト単位で指定) に設定されたバインド。 このバインドは、無限のヘッダー データを含む応答を送信することで、クライアントを停止しようとする未承認のサーバーからクライアントを保護します。 既定値は 64 KB です。
適用対象: SP1 以降の Windows XP。Windows 2000 SP3 以降。
このハンドルの親ハンドルを取得します。
Passport ログオン サーバーによって提供されるブランド設定テキスト を 含む文字列を取得します。 このオプションは、ログオン サーバーが 401 状態コードで応答した直後に取得する必要があります。 アプリケーションは、返された文字列を保持するのに十分な大きさのバッファー サイズ (バイト単位) を渡す必要があります。
Passport ログオン サーバーによって提供される ブランド グラフィックの URL を含む文字列を取得します。 このオプションは、ログオン サーバーが 401 状態コードで応答した直後に取得する必要があります。 アプリケーションは、返された文字列を保持するのに十分な大きさのバッファー サイズ (バイト単位) を渡す必要があります。
Passport の戻り URL を取得する要求ハンドルに読み取り専用オプションを設定します。
セッション ハンドルのオプションを設定して、Passport ログインからサインアウトします。 アプリケーションは、 WINHTTP_OPTION_PASSPORT_RETURN_URLで取得された Passport の戻り URL を渡す必要があります。 戻り URL に関連するすべての Cookie がクリアされます。
要求ハンドルに関連付けられているパスワードを含む文字列値を設定または取得します。
既存のセッション ハンドルまたは要求ハンドルのプロキシ データを含む WINHTTP_PROXY_INFO 構造体を設定または取得します。 プロキシ データを取得する場合、アプリケーションは GlobalFree 関数を使用して、この構造体に含まれる lpszProxy 文字列と lpszProxyBypass 文字列を解放する必要があります (NULL 以外の場合)。 アプリケーションは 、NULL ハンドルを渡すことによって、グローバル プロキシ データ (既定のプロキシ) を照会できます。
プロキシへのアクセスに使用するパスワードを含む文字列値を設定または取得します。
認証時に WinHTTP が SSPI に提供したプロキシ サーバー プリンシパル名を取得します。 この文字列値は、認証エラーの後に SspiPromptForCredentials に 渡すために使用されます。
プロキシへのアクセスに使用するユーザー名を含む文字列値を設定または取得します。
RTT や送受信バイトなどの接続情報を含む QUIC_STATISTICS 構造体を取得します。
このオプションは非推奨です。効果はありません。
プロキシ応答エンティティを取得できるかどうかを設定します。 既定では、このオプションは無効になっています。
要求に対するすべての応答ヘッダーの受信を待機するために、タイムアウト値を含む符号なし長整数をミリ秒単位で設定または取得します。 WinHTTP がこのタイムアウト期間内にすべてのヘッダーを受信できない場合、要求は取り消されます。 既定のタイムアウト値は 90 秒です。
このタイムアウトは、ソケットからデータを受信した場合にのみチェックされます。 その結果、タイムアウトが切れると、サーバーからさらに多くのデータが到着するまで、クライアント アプリケーションに通知されません。 サーバーからデータが到着しない場合、クライアント アプリケーションのタイムアウト有効期限と通知の間の遅延は、WinHttpSetTimeouts 関数の dwReceiveTimeout パラメーターを使用して設定されたタイムアウト値と同じ大きさになる可能性があります。
要求に対する部分的な応答を受信したり、データを読み取ったりするために、タイムアウト値を含む符号なし長整数をミリ秒単位で設定または取得します。 応答にこのタイムアウト値よりも長い時間がかかる場合、要求はキャンセルされます。 タイムアウトの既定値は 30 秒です。
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 倍の状態がアプリケーションに返されます。 |
ユーザー名とパスワードを含む URL を拒否します。 このオプションでは、ユーザー名またはパスワードが指定されていない場合でも、 username:password セマンティクスを含む URL も拒否されます。 たとえば、"u:p@hostname"、":@hostname"、"u:@hostname"、":p@hostname" はすべて無効としてフラグが設定されます。 無効な URL が関数に渡されると、 ERROR_WINHTTP_INVALID_URLが返されます。 このオプションは既定ではオフになっています。
指定された注釈名の要求注釈の取得と設定を有効にします。 これにより、呼び出し元は、後で取得するために文字列を要求に添付して、呼び出し元が役に立つと思われるカスタム ロジックによって要求を識別できます。
このオプションは非推奨です。効果はありません。
要求の統計情報を取得します。 使用可能な統計の一覧については、「 WINHTTP_REQUEST_STATS」を参照してください。
要求のタイミング情報を取得します。 使用可能なタイミングの一覧については、「 WINHTTP_REQUEST_TIMES」を参照してください。
このオプションは、"Content-Length" 応答ヘッダーを無視し、END_STREAM フラグが受信されるまでストリームで受信を続行するように WinHttp に指示します。
このオプションは、送信前に WinHttp 要求ハンドルで設定できます。 設定した場合、WinHttp は DNS 解決のホスト名として呼び出し元から提供された文字列を使用します。
ホスト名を解決するために、タイムアウト値を含む符号なし長整数をミリ秒単位で設定または取得します。 既定のタイムアウト値は INFINITE です。 既定値以外の値を指定すると、名前解決ごとに 1 つのスレッド作成のオーバーヘッドが発生します。
サーバー証明書チェーンを構築するときにスレッドの偽装を元に戻し、代わりにプロセス トークンを強制的に使用します。
許容されるセキュリティで保護されたプロトコルを指定する符号なし 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されます。
SSL/TLS サーバーの証明書を WINHTTP_CERTIFICATE_INFO 構造に取得します。 アプリケーションは、LocalFree を使用して lpszSubjectInfo メンバーと lpszIssuerInfo メンバーを解放する必要があります。
ハンドルのセキュリティ フラグを含む符号なし 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 の呼び出しでのみ返されます。 |
要求の SChannel 接続と暗号情報を再処理します。
暗号化キーの暗号強度を含む符号なし long 整数値を取得します。 数値が大きいほど、暗号強度の暗号化が強力であることを示します。
要求の送信またはデータの書き込みを行うために、タイムアウト値を含む符号なし long 整数値をミリ秒単位で設定または取得します。 要求の送信にタイムアウトより長い時間がかかる場合、送信操作は取り消されます。 既定のタイムアウトは 30 秒です。
チャネル バインド トークン (CBT) を指定する SecPkgContext_Bindings 構造体へのポインターを取得します。
チャネル バインド トークンは、セキュリティで保護されたトランスポート チャネルのプロパティであり、認証チャネルをセキュリティで保護されたトランスポート チャネルにバインドするために使用されます。 このトークンは、SSL 接続が確立された後にのみ、このオプションによって取得できます。
注意
このオプションと lpBuffer の null 値を WinHttpQueryOption に渡すと、lpdwBufferLength パラメーターのバッファーに必要なバイト サイズとERROR_INSUFFICIENT_BUFFERが返されます。 この返されるバッファー サイズの値は、チャネル バインド トークンのクエリを実行する後続の呼び出しで渡すことができます。 チャネル バインド トークンに基づいて要求ヘッダーを変更する場合は、WINHTTP_CALLBACK_STATUS_REQUESTを処理するときに、これらの手順が必要です。 Windows XP と Vista では、このコールバック中の要求ヘッダーの変更はサポートされないことに注意してください。
サーバー認定チェーン コンテキストを取得します。 WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT を渡して、ネゴシエートされた SSL 接続中に受信したサーバー証明書チェーンの CERT_CHAIN_CONTEXT への重複したポインターを取得できます。 クライアントは、バッファーに格納される、返されたPCCERT_CONTEXTポインターで CertFreeCertificateContext を呼び出す必要があります。
サーバー認定コンテキストを取得します。 WINHTTP_OPTION_SERVER_CERT_CONTEXT 渡して、ネゴシエートされた SSL 接続中に受信したサーバー証明書の CERT CONTEXT への重複したポインターを取得できます。 クライアントは、バッファーに格納される、返されたPCCERT_CONTEXTポインターで CertFreeCertificateContext を呼び出す必要があります。
認証時に SSPI に WinHTTP が指定したサーバー サーバー プリンシパル名を取得します。 この文字列値は、認証エラーの後に SspiPromptForCredentials に 渡すことができます。
Kerberos 認証またはネゴシエート Kerberos 認証用に SPN (サービス プリンシパル名) が構築されている場合に、サーバー ポート番号を含めるか削除します。 このフラグは、次のいずれかの値です。
項目 | Description |
---|---|
WINHTTP_DISABLE_SPN_SERVER_PORT | サーバーのポート番号を削除します。 |
WINHTTP_ENABLE_SPN_SERVER_PORT | サーバーのポート番号が含まれます。 |
このオプションは WinHttp 要求ハンドルで照会でき、HTTP ストリームで受信したRST_STREAM フレームによって示されるエラー コードを返します。
接続に対して TCP Fast Open を有効にします。
このオプションは、WinHttp セッション ハンドルで設定して、基になるソケットで TCP キープアライブ動作を有効にすることができます。 tcp_keepalive構造体を受け取ります。
接続に対して TLS False Start を有効にします。
WINHTTP_OPTION_TCP_PRIORITY_HINTを使用して、TCP ソケット セットのヒント付き優先度を照会します。 詳細については、 SIO_SET_PRIORITY_HINT のドキュメントを参照してください。
このオプションを WinHttp セッション ハンドルで設定すると、新しいプロトコル バージョンで TLS ハンドシェイクエラーが発生した場合に TLS 1.0 へのフォールバックを許可するかどうかを制御できます。
特定のセッションに対して最後のコールバックが完了したときに設定されるイベントを受け取ります。 このフラグは、セッション ハンドルで使用する必要があります。 イベントは、WinHTTP によって設定されるまで閉じることができません。
このオプションは内部使用のために予約されており、呼び出さないでください。
WinHttpSendRequest を使用して WebSocket ハンドシェイク プロセスを開始するようにスタックに指示します。 このオプションはパラメーターを受け取らなくなります。
ダウンロードしたリソースの完全な URL を含む文字列値を取得します。 検索文字列やアンカーなどの追加データが元の URL に含まれている場合、または呼び出しがリダイレクトされた場合、返される URL は元の URL とは異なります。 アプリケーションは、返された URL をワイド文字で保持するのに十分な大きさのバッファー (バイト単位) を渡す必要があります。
BOOL を受け取り、セッション ハンドルのみを設定できます。 オプションが設定された後にのみ、セッション ハンドルから作成されたハンドルに反映されます。 TRUE の場合、このオプションは WinInet からプッシュダウンされたグローバル サーバー資格情報の使用を最後の手段として引き起こします。 このオプションの既定値は FALSE です。 このオプションには、レジストリ キー HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! が必要です。ShareCredsWithWinHttp. このレジストリ キーは、既定では存在しません。 設定すると、WinINet は資格情報を WinHTTP に送信します。 WinHttp が認証チャレンジを受け取るたびに、現在のハンドルに資格情報が設定されていない場合は、WinINet によって提供される資格情報が使用されます。
エンドポイントごとの既定の資格情報を持つ代わりに、セッション内のすべてのエンドポイントに対して既定で使用する 1 つの資格情報を設定できます。 これにより、資格情報管理のオーバーヘッドが削減され、パフォーマンスが向上する可能性があります。 クライアント証明書が明示的に指定されている場合、この既定の資格情報は無効であることに注意してください。
WinHttpAddRequestHeaders または WinHttpSendRequest によって追加されたヘッダーによってオーバーライドされない限り、WinHttpOpen によって提供され、後続の WinHttpSendRequest 関数で使用されるハンドルに対してユーザー エージェント文字列を設定または取得します。 ユーザー エージェントを取得する場合、アプリケーションは、返された URL をワイド文字で保持するのに十分な大きさのバッファー (バイト単位) を渡す必要があります。 ユーザー エージェントを設定する場合、バッファー サイズは文字列の長さ (文字数) と NULL 終端記号です。
ユーザー名を含む文字列を設定または取得します。
WinHttpWebSocketClose が閉じるハンドシェイクの完了を待機する時間をミリ秒単位で設定します。 既定は 10 秒です。
接続経由でキープアライブ パケットを送信する間隔をミリ秒単位で設定します。 既定の間隔は 30000 (30 秒) です。 最小間隔は 15000 (15 秒) です。 WinHttpSetOption を使用して 15000 より小さい値を設定すると、ERROR_INVALID_PARAMETERでが返されます。
注意
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVALの既定値は、HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval から読み取られます。 値が設定されていない場合は、既定値の 30000 が使用されます。 キープアライブ間隔を 15,000 ミリ秒より低くすることはできません。
WebSocket 接続で使用する受信バッファー サイズを指定する DWORD を設定または取得します。
WebSocket 接続で使用する送信バッファー サイズを指定する DWORD を設定または取得します。
スレッド プールが非同期完了に使用するワーカー スレッドの数を指定する符号なし long 整数値を設定します。 このオプションの既定値は 0 で、ワーカー スレッドの数がシステム上の CPU の数と等しいことを指定します。 このオプションは、非同期操作が発生する前に NULLHINTERNET ハンドルでのみ設定できます。 このオプションは 1 回だけ設定できます。
適用対象: Windows 7 以降。Windows Server 2008 R2 以降。
このオプションは非推奨です。効果はありません。
次の表は、処理できるハンドル、クエリと設定が可能かどうか、および使用されるデータ型を指定することで、オプション フラグの一覧を示しています。 "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 |