共用方式為


選項旗標

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 服務 (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

擷取來源和目的地 IP 位址,以及 WinHttpReceiveResponse 傳回時產生回應的要求埠。 應用程式會使用 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 停用連線的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

擷取不帶正負號的長整數值,其中包含Microsoft Windows Sockets 錯誤碼,而錯誤碼會對應至最後傳回於此線程內容中的ERROR_WINHTTP_* 錯誤訊息。 您可以傳遞 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_VERSION_INFO 結構,宣告支援的舊版 HTTP 版本。 這是全進程選項;針對句柄使用 NULL

備註

此結構適用於 HTTP/1.0 和 HTTP/1.1。 如需新式 HTTP 版本,請參閱 WINHTTP_OPTION_ENABLE_HTTP_PROTOCOLWINHTTP_OPTION_HTTP_PROTOCOL_USED

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

啟用連線的保持運作語意。 使用緩衝區將keep-alive逾時設定為 PDWORD,以毫秒為單位。

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

擷取 HTTP/3 資料流上用來傳送要求的伺服器提供錯誤。

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

允許安全連線使用無法下載證書吊銷清單的安全性憑證。

WINHTTP_OPTION_IPV6_FAST_FALLBACK

啟用連線的 IPv6 快速後援 (快樂的眼球)。 此行為類似於 RFC 6555 中所述的快樂眼球行為,用於改善 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

適用於:具有SP1和更新版本的 Windows Vista;Windows Server 2008 和更新版本。

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

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

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

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

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

適用於:具有SP1和更新版本的Windows XP;Windows 2000 SP3 和更新版本。

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

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

適用於:具有SP1和更新版本的Windows XP;Windows 2000 SP3 和更新版本。

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

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

適用於:具有SP1和更新版本的Windows XP;Windows 2000 SP3 和更新版本。

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

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

適用於:具有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 結構,其中包含現有會話句柄或要求句柄上的 Proxy 數據。 擷取 Proxy 資料時,應用程式必須使用 GlobalFree 函式釋放此結構中包含的 lpszProxylpszProxyBypass 字串串。如果不是 NULL 字串。 應用程式可以藉由傳遞 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 處理 30x HTTP 重新導向狀態代碼的行為。 這個選項可以在工作階段或要求句柄上設定為下列其中一個值:

術語 說明
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS 所有重新導向都會自動追蹤。
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP 系統會遵循所有重新導向,但源自安全 (HTTPs) URL 的重新導向 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

設定不帶正負號的長整數值,指定可接受哪些 Secure (HTTPS) 通訊協定。 此設定的預設值會因作系統版本而異,而且可能會受到已安裝的更新影響。

  • Windows 11。 根據預設,只會啟用 TLS1.2 和 TLS1.3。
  • 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 通訊協定。

如果您需要啟用對較新通訊協議的支援,但無法重新編譯應用程式以使用 適當的WINHTTP_OPTION_SECURE_PROTOCOLS值,您可以改為新增 DefaultSecureProtocols 登錄專案。 該登錄專案可讓您指定未設定 WINHTTP_OPTION_SECURE_PROTOCOLS 選項時,應該使用哪些安全通訊協定。

這很重要

下列指示涉及修改登錄。 然而,如果不正確地修改登錄檔,可能會出現嚴重問題。 因此,請確定您仔細遵循這些指示。 為了增加保護,請在修改前備份登錄檔。 然後,如果發生問題,您可以還原登錄檔。 如需如何備份和還原登錄的詳細資訊,請參閱 如何在 Windows 中備份和還原登錄

如果應用程式未呼叫 WinHttpSetOptionWINHTTP_OPTION_SECURE_PROTOCOLS),系統會檢查 DefaultSecureProtocols 登錄專案,如果登錄專案存在,則會以登錄專案中指定的 DefaultSecureProtocols 通訊協定覆寫現有的作系統預設值。 WinHTTP 指定的通訊協定可由可能會停用通訊協定的安全通道 (安全通道) 組態設定覆寫。

您可以在下列路徑中新增 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
0x00002000 默認啟用 TLS 1.3

例如,如果您想要覆寫 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 連線之後,才能取得這個令牌。

備註

將此選項和 lpBufferNull 值傳遞至 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 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

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

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

設定間隔,以毫秒為單位,透過連線傳送keep-alive封包。 默認間隔為 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” 表示選項旗標適用於函式或句柄,而 “-” 則指定選項旗標無效。

嘗試在不支援選項旗標的 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 內容
- 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,請參閱 Run-Time 需求

需求

要求 價值觀
最低支援的用戶端 Windows XP,Windows 2000 Professional with SP3 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003、Windows 2000 Server with SP3 [僅限傳統型應用程式]
可再發行套件 Windows XP 和 Windows 2000 上的 WinHTTP 5.0 和 Internet Explorer 5.01 或更新版本。
頁首 Winhttp.h

另請參閱