HTTP_REQUEST_PROPERTY列舉會定義您可以設定為 HTTP 伺服器 API 在要求時查詢或設定的內容。
語法
typedef enum _HTTP_REQUEST_PROPERTY {
HttpRequestPropertyIsb,
HttpRequestPropertyTcpInfoV0,
HttpRequestPropertyQuicStats,
HttpRequestPropertyTcpInfoV1,
HttpRequestPropertySni,
HttpRequestPropertyStreamError,
HttpRequestPropertyWskApiTimings,
HttpRequestPropertyQuicApiTimings,
HttpRequestPropertyQuicStatsV2,
HttpRequestPropertyQuicStreamStats,
HttpRequestPropertyTcpInfoV2,
HttpRequestPropertyTlsClientHello,
HttpRequestPropertyTransportIdleConnectionTimeout,
HttpRequestPropertyDscpTag,
HttpRequestPropertyTlsCipherInfo
} HTTP_REQUEST_PROPERTY, *PHTTP_REQUEST_PROPERTY;
Constants
HttpRequestPropertyIsb動作:查詢。 PVOID輸入/輸出值:ULONG64 擷取要求的理想傳送待辦專案大小 (請參閱 SIO_WSK_QUERY_IDEAL_SEND_BACKLOG)。 |
HttpRequestPropertyTcpInfoV0動作:查詢。 PVOID輸入/輸出值: TCP_INFO_v0 擷取請求的 TCP_INFO_v0 統計資料。 使用 Qualifier 參數。 |
HttpRequestPropertyQuicStats動作:查詢。 PVOID輸入/輸出值: QUIC_STATISTICS 擷取請求的 QUIC_STATISTICS 統計資料。 使用 Qualifier 參數。 |
HttpRequestPropertyTcpInfoV1動作:查詢。 PVOID輸入/輸出值: TCP_INFO_v1 擷取要求的 TCP_INFO_v1 統計資料。 使用 Qualifier 參數。 |
HttpRequestPropertySni動作:查詢。 PVOID輸入/輸出值: HTTP_REQUEST_PROPERTY_SNI 在 HTTP_REQUEST_PROPERTY_SNI中擷取要求 TLS 連線的伺服器名稱指示。 |
HttpRequestPropertyStreamError動作:設定。 PVOID輸入/輸出值: HTTP_REQUEST_PROPERTY_STREAM_ERROR 在請求上設定 (HTTP/2 或 HTTP/3) HTTP_REQUEST_PROPERTY_STREAM_ERROR 結構。 HTTP_REQUEST_PROPERTY_STREAM_ERROR結構包含此內容的組態資料。 |
HttpRequestPropertyWskApiTimings動作:查詢。 PVOID輸入/輸出值: HTTP_WSK_API_TIMINGS 擷取請求的 HTTP_WSK_API_TIMINGS 統計資料。 僅用於非 QUIC 請求 (HTTP/1.1、HTTP/2)。 此屬性需要額外的設定才能啟用其使用;參見備註。 |
HttpRequestPropertyQuicApiTimings動作:查詢。 PVOID輸入/輸出值:HTTP_QUIC_API_TIMINGS 擷取請求的 HTTP_QUIC_API_TIMINGS 統計資料。 僅用於 HTTP/3 請求。 此屬性需要額外的設定才能啟用其使用;參見備註。 |
HttpRequestPropertyQuicStatsV2動作:查詢。 PVOID輸入/輸出值: QUIC_STATISTICS_V2 擷取要求的 QUIC_STATISTICS_V2 統計資料。 使用 Qualifier 參數。 |
HttpRequestPropertyQuicStreamStats動作:查詢。 PVOID輸入/輸出值: QUIC_STREAM_STATISTICS 擷取要求的 QUIC_STREAM_STATISTICS 統計資料。 |
HttpRequestPropertyTcpInfoV2動作:查詢。 PVOID輸入/輸出值: TCP_INFO_v2 擷取要求的延伸 TCP_INFO_v2 統計資料。 使用 Qualifier 參數。 |
HttpRequestPropertyTlsClientHello動作:查詢。 PVOID 輸入/輸出值:BYTE[] 擷取用戶端在該要求連線開始時傳送的 TLS 用戶端 Hello 訊息內容。 此屬性需要額外的設定才能啟用其使用;參見備註。 |
HttpRequestPropertyTransportIdleConnectionTimeout動作:設定。 PVOID輸入/輸出值:USHORT 設定此要求是否空閒的逾時 (以秒為單位)。 |
HttpRequestPropertyDscpTag動作:設定。 PVOID 輸入/輸出值:BYTE 將差異化服務代碼點(DSCP)標籤設定為在此請求的響應中傳送的所有資料包上提供的BYTE值。 這是內部的 6 位值,因此最大值為 0x3F。 |
HttpRequestPropertyTlsCipherInfo動作:查詢。 PVOID輸入/輸出值: SecPkgContext_CipherInfo 擷取 TLS 交握中為此連線選取的密碼套件和參數。 |
備註
HTTP_REQUEST_PROPERTY列舉類型可用來設定或查詢要求的組態。 HttpSetRequestProperty 會使用此列舉的成員以及相關聯的組態結構來定義組態參數。
HttpRequestPropertyWskApiTimings 和 HttpRequestPropertyQuicApiTimings。 這些屬性需要 HKLM\System\CurrentControlSet\Services\Http\Parameters:EnableExtendedEvents 在啟動或重新啟動 HTTP 服務之前將登錄值設定為 0x1。
HttpRequestPropertyTlsClientHello 的 HttpRequestPropertyTlsClientHello 。 若要確認此功能的可用性,請呼叫 HttpIsFeatureSupported 並傳遞 HttpFeatureCacheTlsClientHello。 因為快取 TLS 用戶端 Hello 是每個連線的成本,所以若要啟用這項功能,您必須在 pConfigInformation 中使用HTTP_SERVICE_CONFIG_SSL_SET結構來呼叫 HttpSetServiceConfigurationHTTP_SERVICE_CONFIG_SSL_FLAG_ENABLE_CACHE_CLIENT_HELLO 集 (請參閱 HTTP_SERVICE_CONFIG_SSL_PARAM) 。 由於 TLS 用戶端 Hello 沒有固定長度,因此可以使用 NULL 緩衝區指標查詢此屬性,以判斷您需要的緩衝區大小;如需詳細資訊,請參閱 HttpQueryRequestProperty 中的範例。
需求
| Requirement | 價值觀 |
|---|---|
| Header | http.h |