選項旗標

WinHttpQueryOptionWinHttpSetOption支援下列選項旗標。

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

預設值為 FALSE。 如果設定為 TRUE,如果用戶端應用程式封鎖狀態回呼,WinHTTP 並不保證進度。

用戶端應用程式必須特別小心,在回呼內執行最少作業而不封鎖、儘快傳回,特別是不得等候任何後續的 WinHTTP 呼叫。 如果未遵循這些指導方針,可能會對效能造成負面影響或潛在的應用程式停止回應。 如果以指定的方式使用,此選項可能會改善效能。

WINHTTP_OPTION_AUTOLOGON_POLICY

設定不帶正負號的長整數值,指定具有下列其中一個值的 自動登入原則

詞彙 描述
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH 不會使用預設認證。 請注意,只有在您以實際電腦名稱稱指定伺服器時,此旗標才會生效。 如果您透過 「localhost」 或 IP 位址指定伺服器,它將不會生效。
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW 系統會針對所有要求執行使用預設認證的已驗證登入。
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM 使用預設認證的已驗證登入只會針對本機內部網路上的要求執行。

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

當您在會話控制碼上設定此選項時,必須傳遞您想要開啟的連線數目。 然後,第一次傳送要求時,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 旗標關閉憑證存放區。 可能會發生存取違規。

當伺服器要求用戶端憑證時, WinHttpSendRequestWinHttpReceiveResponse 會傳回 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

WinHttpSendRequestWinHttpReceiveResponse的錯誤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 驗證 。 這個值可以是下列值之一:

詞彙 描述
WINHTTP_DISABLE_PASSPORT_AUTH Microsoft Passport 驗證已停用。 此為預設值。
WINHTTP_DISABLE_PASSPORT_KEYRING Passport Keyring 已停用。 此為預設值。
WINHTTP_ENABLE_PASSPORT_AUTH 已啟用 Passport 驗證。
WINHTTP_ENABLE_PASSPORT_KEYRING Passport Keyring 已啟用。

WINHTTP_OPTION_CONNECT_RETRIES

設定或擷取未帶正負號的長整數值,其中包含WinHTTP 嘗試連線到主機的次數。 Microsoft Windows HTTP Services (WinHTTP) 只會在每個網際網路通訊協定 (IP) 位址嘗試一次。 例如,如果您嘗試連線到具有 10 個 IP 位址且 WINHTTP_OPTION_CONNECT_RETRIES 為 7 的多路主機,則 WinHTTP 只會嘗試連線到前七個 IP 位址。 假設有一組相同的 10 個 IP 位址,如果 WINHTTP_OPTION_CONNECT_RETRIES 設為 20,WinHTTP 只會嘗試每一次 10。 如果連線嘗試在指定的嘗試次數之後仍然失敗,或如果連線逾時已過期,則會取消要求。 WINHTTP_OPTION_CONNECT_RETRIES的預設值是五次嘗試。

WINHTTP_OPTION_CONNECT_TIMEOUT

以毫秒為單位,設定或擷取包含逾時值的不帶正負號長整數值。 將此選項設定為無限 (0xFFFFFFFF) 將會停用此計時器。

如果 TCP 連線要求超過這個逾時值,則會取消要求。 預設逾時為 60 秒。 當您嘗試連線到單一主機的多個 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

使用 GUID 標記與 WinHTTP 要求控制碼相關聯的連線。 這允許自訂控制哪些要求使用哪些群組與 WINHTTP_OPTION_MATCH_CONNECTION_GUID 選項的連線。

WINHTTP_OPTION_CONNECTION_STATS_V0

針對要求所使用的基礎連線,TCP_INFO_v0結構。 傳回的結構可能包含先前透過相同連線傳送的要求統計資料。

注意

此選項已被 WINHTTP_OPTION_CONNECTION_STATS_V1取代。

WINHTTP_OPTION_CONNECTION_STATS_V1

針對要求所使用的基礎連線,TCP_INFO_v1結構。 傳回的結構可能包含先前透過相同連線傳送的要求統計資料。

WINHTTP_OPTION_CONTEXT_VALUE

設定或擷取 DWORD_PTR ,其中包含與此 HINTERNET 控制碼相關聯的內容值指標。 會使用儲存在緩衝區中的值,並指派 新值WINHTTP_OPTION_CONTEXT_VALUE 選項旗標。

WINHTTP_OPTION_DECOMPRESSION

設定旗標的 DWORD,判斷 WinHTTP 是否會使用壓縮的內容編碼自動解壓縮回應主體。 WinHTTP 也會設定適當的Accept-Encoding標頭,覆寫呼叫端所提供的任何 。 支援的值為:

詞彙 描述
WINHTTP_DECOMPRESSION_FLAG_GZIP 解壓縮 Content-Encoding:gzip 回應。
WINHTTP_DECOMPRESSION_FLAG_DEFLATE 解壓縮 Content-Encoding:重組回應。
WINHTTP_DECOMPRESSION_FLAG_ALL 使用任何支援的 Content-Encoding 解壓縮回應。

根據預設,WinHTTP 會將壓縮的回應傳遞至未修改的呼叫端。

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

在 WinHttp 會話控制碼上設定此選項可讓您啟用/停用伺服器憑證鏈結是否已建置。

WINHTTP_OPTION_DISABLE_FEATURE

設定不帶正負號的長整數值,指定下列一或多個旗標停用哪些功能。 請注意,只有在使用WinHttpOpenRequest建立要求控制碼之後,以及使用WinHttpSendRequest傳送要求之前,此功能才應該在要求控制碼上傳遞至WinHttpSetOption

詞彙 描述
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

藉由提供 OR 所有適用的選項,在 WinHTTP 會話上停用下列一或多個 Proxy 驗證做法。 除了 WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE以外,這些配置都會強制在將要求傳送至回送或本機位址時使用本機電腦帳戶。 這可防止將系統認證外泄至本機 HTTP Proxy。

詞彙 描述
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

設定不帶正負號的長整數值,指定目前啟用的功能。 可以是下列其中一個值。

詞彙 描述
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION 如果啟用,WinHTTP 會在 SSL 憑證驗證作業期間暫時還原用戶端模擬。 此值只能在會話控制碼上設定。
WINHTTP_ENABLE_SSL_REVOCATION 如果啟用,WinHTTP 允許 SSL 撤銷。 此值只能在要求控制碼上設定。

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

設定可接受的進階 HTTP 版本的 DWORD 位元遮罩。 可能的值包括:

詞彙 描述
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 會話控制碼上設定,以允許 WinHttp 在使用 HTTP/2 時使用呼叫端提供的用戶端憑證內容。

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 錯誤碼。 您可以傳遞 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 所提供的認證。 除了 Proxy 認證之外,使用者還需要設定 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 所提供的認證。 除了 Proxy 認證之外,使用者還需要設定 WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS 伺服器認證。

WINHTTP_OPTION_HANDLE_TYPE

擷取未帶正負號的長整數值,其中包含傳入之 HINTERNET 控制碼的類型。 傳回值可以是下列其中一個:

詞彙 描述
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

取得 DWORD,指出指定要求上使用哪個進階 HTTP 版本。 如需可能值的清單,請參閱 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 回應包含「傳輸編碼」標頭時,WinHttp 的行為。 在這種情況下,如果此選項設定為 FALSE,WinHttp 會傳回錯誤。

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

使用 WINHTTP_HTTP2_RECEIVE_WINDOW 結構設定初始 HTTP/2 資料流程接收視窗大小和傳送視窗更新的臨界值。

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

使用緩衝區,將 HTTP/3 交握逾時設定為 PDWORD 毫秒。

WINHTTP_OPTION_HTTP3_INITIAL_RTT

毫秒為單位設定初始 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 快速後援 (快樂眼球) 。 此行為類似于 RFC 6555 中所述的 Happy Eyeballs 行為,可改善 IPv6 不可靠的網路上的連線時間。

  • 如果指定主機同時解析 IPv6 和 IPv4 位址,WinHttp 會從連線到第一個解析的 IPv6 位址,並以簡短 (300 毫秒) 逾時開始。
  • 如果連線失敗,WinHttp 會嘗試使用標準逾時連線到第一個已解析的 IPv4 位址。
  • 如果第二個連線失敗,WinHttp 將會使用標準逾時重試第一個已解析的 IPv6 位址。
  • 如果第三個連線失敗,WinHttp 會還原為任何剩餘位址的預設行為,並嘗試使用標準逾時的每個位址連線,直到建立連線或沒有位址為止。

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

取得是否可以擷取 Proxy Return Connect 回應。

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 伺服器允許的連線數目上限。 預設值為 INFINITE

適用于:Windows Vista SP1 和更新版本;Windows Server 2008 和更新版本。

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

設定或擷取未帶正負號的長整數值,其中包含每部伺服器允許的連線數目上限。 預設值為 INFINITE

當此選項設定為零時,WinHTTP 會將連線數目的限制設定為 2。

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

設定 WinHTTP 所遵循的重新導向數目上限;預設值為 10。 此限制可防止未經授權的網站在大量重新導向之後暫停 WinHTTP 用戶端。

適用于:Windows XP SP1 和更新版本;Windows 2000 SP3 和更新版本。

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

資訊 100-199 狀態碼回應的最大數目,再將最終狀態代碼傳回 WinHTTP 用戶端。 在最終狀態代碼之前,伺服器可以傳送資訊 100-199 狀態碼,如 HTTP/1.1 (規格所述,如需詳細資訊,請參閱 RFC 2616) 。 預設值為 10。

適用于:Windows XP SP1 和更新版本;Windows 2000 SP3 和更新版本。

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

系結從回應清空的資料量,以重複使用以位元組為單位指定的連接。 預設值為 1MB。

適用于:Windows XP SP1 和更新版本;Windows 2000 SP3 和更新版本。

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

在伺服器回應標頭部分的大小上限上設定的系結,以位元組為單位。 此系結可保護用戶端免于未經授權的伺服器嘗試藉由傳送具有無限數量標頭資料的回應來停止用戶端。 預設值為 64KB。

適用于:Windows XP SP1 和更新版本;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 結構,其中包含現有會話控制碼或要求控制碼上的 Proxy 資料。 擷取 Proxy 資料時,如果lpszProxy 和 lpszProxyBypass字串是使用GlobalFree函式的非Null) ,則應用程式必須釋放此結構中包含的lpszProxy 和 lpszProxyBypass字串 (。 應用程式可以透過傳遞 Null 控制碼, (預設 Proxy) 查詢全域 Proxy 資料。

WINHTTP_OPTION_PROXY_PASSWORD

設定或擷取字串值,其中包含用來存取 Proxy 的密碼。

WINHTTP_OPTION_PROXY_SPN_USED

取得驗證期間 WinHTTP 提供給 SSPI 的 Proxy 伺服器主體名稱。 此字串值用於在驗證失敗之後傳遞至 SspiPromptForCredentials

WINHTTP_OPTION_PROXY_USERNAME

設定或擷取字串值,其中包含用來存取 Proxy 的使用者名稱。

WINHTTP_OPTION_QUIC_STATS

擷取包含連線資訊的 QUIC_STATISTICS 結構,例如 RTT 和已傳送和接收的位元組。

WINHTTP_OPTION_READ_BUFFER_SIZE

此選項已被取代;它沒有任何作用。

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

設定是否可以擷取 Proxy 回應實體。 此選項預設為停用。

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

設定或擷取未帶正負號的長整數值,其中包含以毫秒為單位的逾時值,以等候接收要求的所有回應標頭。 如果 WinHTTP 無法在此逾時期間內收到所有標頭,則會取消要求。 預設逾時值為 90 秒。

只有在從通訊端接收資料時,才會檢查此逾時。 因此,當逾時到期時,在從伺服器抵達更多資料之前,用戶端應用程式不會收到通知。 如果沒有資料從伺服器抵達,則用戶端應用程式逾時到期和通知之間的延遲,可能會與使用WinHttpSetTimeouts函式的 dwReceiveTimeout參數所設定的逾時值一樣大。

WINHTTP_OPTION_RECEIVE_TIMEOUT

設定或擷取包含逾時值的不帶正負號長整數值,以毫秒為單位接收要求的部分回應或讀取某些資料。 如果回應花費的時間超過這個逾時值,則會取消要求。 預設的逾時值是 30 秒。

WINHTTP_OPTION_REDIRECT_POLICY

設定 WinHTTP 有關處理 30 倍 HTTP 重新導向狀態碼的行為。 此選項可以在會話或要求控制碼上設定為下列其中一個值:

詞彙 描述
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS 所有重新導向都會自動遵循。
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP 除了源自安全 (HTTPs) URL 到不安全 (HTTP) URL 的重新導向除外。 這是預設值。
WINHTTP_OPTION_REDIRECT_POLICY_NEVER 永遠不會遵循重新導向。 30x 狀態會傳回給應用程式。

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

拒絕包含使用者名稱和密碼的 URL。 此選項也會拒絕包含 username:password 語意的 URL,即使未指定使用者名稱或密碼也一樣。 例如,「u:p@hostname」、「:」、「u: @hostname@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

此選項會告訴 WinHttp 忽略「內容長度」回應標頭,並在資料流程上繼續接收,直到收到END_STREAM旗標為止。

WINHTTP_OPTION_RESOLUTION_HOSTNAME

在傳送此選項之前,可以在 WinHttp 要求控制碼上設定此選項。 如果設定,WinHttp 會使用呼叫端提供的字串作為 DNS 解析的主機名稱。

WINHTTP_OPTION_RESOLVE_TIMEOUT

設定或擷取未帶正負號的長整數值,其中包含以毫秒為單位的逾時值,以解析主機名稱。 預設逾時值為 INFINITE。 如果指定了非預設值,每個名稱解析會有一個執行緒建立的額外負荷。

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

在建置伺服器憑證鏈結時還原任何執行緒模擬,強制改用進程權杖。

WINHTTP_OPTION_SECURE_PROTOCOLS

設定不帶正負號的長整數值,指定可接受的安全通訊協定。

  • Windows 11、Windows 10和Windows 8.1。 根據預設,只會啟用 SSL3、TLS1.0、TLS1.1 和 TLS1.2。
  • Windows 8和 Windows 7。 根據預設,只會啟用 SSL3 和 TLS1。

此值可以是下列一或多個值的組合。

詞彙 描述
WINHTTP_FLAG_SECURE_PROTOCOL_ALL 您可以使用安全通訊端層 (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所設定的停用通訊協定和通訊協定覆寫。

您可以在下列路徑中新增 DefaultSecureProtocols 登錄專案:

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

在 x64 型電腦上,您也必須新增 DefaultSecureProtocolsWow6432Node 路徑:

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

例如,如果您想要覆寫 WINHTTP_OPTION_SECURE_PROTOCOLS 的預設值,以指定 TLS 1.1 和 TLS 1.2。 在此情況下,採用 TLS 1.1 (0x00000200) 的值和 TLS 1.2 (0x00000800) 的值,將它們加在程式設計人員模式) 中的計算機 (,而產生的登錄值會0x00000A00。

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

將 SSL/TLS 伺服器的憑證擷取到 WINHTTP_CERTIFICATE_INFO 結構。 應用程式必須使用LocalFree釋放lpszSubjectInfolpszIssuerInfo成員。

WINHTTP_OPTION_SECURITY_FLAGS

設定或擷取不帶正負號的長整數值,其中包含控制碼的安全性旗標。 它可以是下列值的組合:

詞彙 描述
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 允許使用非伺服器憑證 (建立伺服器的身分識別,例如用戶端憑證) 。
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

擷取包含加密金鑰加密強度的不帶正負號長整數值。 較大的數位表示更強式加密強度加密。

WINHTTP_OPTION_SEND_TIMEOUT

設定或擷取包含逾時值的不帶正負號長整數值,以毫秒為單位傳送要求或寫入某些資料。 如果傳送要求的時間超過逾時,則會取消傳送作業。 預設的逾時值為 30 秒。

WINHTTP_OPTION_SERVER_CBT

取得指定通道系結權杖 (CBT) 之SecPkgCoNtext_Bindings 結構的指標。

通道系結權杖是安全傳輸通道的屬性,可用來將驗證通道系結至安全傳輸通道。 建立 SSL 連線之後,這個權杖只能由此選項取得。

注意

將此選項和lpBuffer的 Null值傳遞給WinHttpQueryOption會傳回ERROR_INSUFFICIENT_BUFFER,以及lpdwBufferLength參數中緩衝區所需的位元組大小。 這個傳回的緩衝區大小值可以在後續呼叫中傳遞,以查詢通道系結權杖。 如果您想要根據通道系結權杖修改要求標頭,則處理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

取得驗證期間 WinHTTP 提供給 SSPI 的伺服器伺服器主體名稱。 此字串值可以在驗證失敗之後傳遞至 SspiPromptForCredentials

WINHTTP_OPTION_SPN

當針對 Kerberos 或交涉 Kerberos 驗證建置 SPN (服務主體名稱) 時,包含或移除伺服器埠號碼。 此旗標是下列其中一個值:

詞彙 描述
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 快速開啟。

WINHTTP_OPTION_TCP_KEEPALIVE

此選項可以在 WinHttp 會話控制碼上設定,以在基礎通訊端上啟用 TCP 保持運作行為。 採用 tcp_keepalive 結構。

WINHTTP_OPTION_TLS_FALSE_START

啟用連線的 TLS False 啟動。

WINHTTP_OPTION_TCP_PRIORITY_STATUS

使用 WINHTTP_OPTION_TCP_PRIORITY_HINT查詢 TCP 通訊端集的提示優先順序。 如需詳細資訊,請參閱 SIO_SET_PRIORITY_HINT 檔。

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

這個選項可以在 WinHttp 會話控制碼上設定,以控制是否允許後援至 TLS 1.0,如果 TLS 交握失敗與較新的通訊協定版本。

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。

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

允許將單一認證設定為預設用於會話內的所有端點,而不是具有每個端點的預設認證。 這可能會藉由減少認證管理額外負荷來改善效能。 請注意,當明確提供用戶端憑證時,此預設認證將不會有任何作用。

WINHTTP_OPTION_USER_AGENT

設定或擷取WinHttpOpen所提供控制碼上的使用者代理程式字串,並在後續WinHttpSendRequest 函式中使用,只要 WinHttpAddRequestHeadersWinHttpSendRequest新增的標頭不會覆寫。 擷取使用者代理程式時,應用程式應該傳入緩衝區,以位元組為單位,足以在寬字元中保存傳回的 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。 不可能有低於 15000 毫秒的保留間隔。

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

設定或擷取 DWORD,指定要在 WebSocket 連線上使用的接收緩衝區大小。

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

設定或擷取 DWORD,指定要在 WebSocket 連線上使用的傳送緩衝區大小。

WINHTTP_OPTION_WORKER_THREAD_COUNT

設定不帶正負號的長整數值,指定執行緒集區應該用於非同步完成的背景工作執行緒數目。 此選項的預設值為零,指定背景工作執行緒數目等於系統上的 CPU 數目。 此選項只能在發生非同步作業之前,在 NullHINTERNET 控制碼上設定。 此選項只能設定一次。

適用于:Windows 7 和更新版本;Windows Server 2008 R2 和更新版本。

WINHTTP_OPTION_WRITE_BUFFER_SIZE

此選項已被取代;它沒有任何作用。

備註

下表列出選項旗標,方法是指定可以採取哪些動作的控制碼、是否可以查詢和設定,以及所使用的資料類型。 「X」 表示選項旗標適用于函式或控制碼,而 「-」 則指定選項旗標無效。

嘗試在不支援的選項旗標上設定或查詢選項旗標會導致 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 和 Internet Explorer 5.01 或更新版本。
標頭 WinHTTP.h

另請參閱