HTTP_REQUEST_PROPERTY枚举定义可在请求上由 HTTP 服务器 API 查询或设置的属性。
Syntax
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 统计信息。 使用 限定符 参数。  | 
HttpRequestPropertyQuicStats作:查询。 PVOID 输入/输出值: QUIC_STATISTICS 检索请求 的QUIC_STATISTICS 统计信息。 使用 限定符 参数。  | 
HttpRequestPropertyTcpInfoV1作:查询。 PVOID 输入/输出值: TCP_INFO_v1 检索请求 的TCP_INFO_v1 统计信息。 使用 限定符 参数。  | 
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 统计信息。 使用 限定符 参数。  | 
HttpRequestPropertyQuicStreamStats作:查询。 PVOID 输入/输出值: QUIC_STREAM_STATISTICS 检索请求 的QUIC_STREAM_STATISTICS 统计信息。  | 
HttpRequestPropertyTcpInfoV2作:查询。 PVOID 输入/输出值: TCP_INFO_v2 检索请求的扩展 TCP_INFO_v2 统计信息。 使用 限定符 参数。  | 
HttpRequestPropertyTlsClientHello作:查询。 PVOID 输入/输出值:BYTE[] 检索客户端在该请求连接开始时发送的 TLS Client 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。 若要确认此功能的可用性,请调用 HttpIsFeatureSupported 并传递 HttpFeatureCacheTlsClientHello。 由于缓存 TLS Client Hello 是昂贵的每连接,因此若要启用此功能,需要使用具有HTTP_SERVICE_CONFIG_SSL_FLAG_ENABLE_CACHE_CLIENT_HELLO集的pConfigInformation 中的HTTP_SERVICE_CONFIG_SSL_SET结构调用 HttpSetServiceConfiguration(请参阅HTTP_SERVICE_CONFIG_SSL_PARAM)。 由于 TLS Client Hello 没有固定长度,因此可以使用 NULL 缓冲区指针查询此属性,以确定所需的缓冲区大小;有关详细信息,请参阅 HttpQueryRequestProperty 中的示例。
要求
| Requirement | 价值 | 
|---|---|
| Header | http.h |