HttpUpdateServiceConfiguration 函数 (http.h)

以原子方式更新服务配置参数,该参数在 HTTP 服务器 API 配置存储中的配置记录中指定传输层安全性 (TLS) 证书。

Syntax

HTTPAPI_LINKAGE ULONG HttpUpdateServiceConfiguration(
  [in] HANDLE                 Handle,
  [in] HTTP_SERVICE_CONFIG_ID ConfigId,
  [in] PVOID                  ConfigInfo,
  [in] ULONG                  ConfigInfoLength,
  [in] LPOVERLAPPED           Overlapped
);

参数

[in] Handle

保留且必须为 NULL

[in] ConfigId

要更新的配置记录的类型。 此参数可以是 HTTP_SERVICE_CONFIG_ID 枚举中的以下值之一。

ConfigId Meaning
HttpServiceConfigssLCertInfo
更新指定的 SSL 证书记录。
HttpServiceConfigSslSniCertInfo
更新指定的 SSL 服务器名称指示(SNI)证书记录。
HttpServiceConfigSslCcsCertInfo
更新 SSL 证书记录,该记录指定 Http.sys 应咨询集中式证书存储(CCS)存储,以在端口收到 TLS 握手时查找证书。 端口由传递给 pConfigInfo 参数的 HTTP_SERVICE_CONFIG_SSL_CCS_SET 结构的 KeyDesc 成员指定。

[in] ConfigInfo

指向包含适当数据的缓冲区的指针,用于指定要更新的记录类型。 下表显示了缓冲区为 ConfigId 参数的不同可能值所包含的数据类型。

ConfigId pConfigInfo 缓冲区中的数据类型
HttpServiceConfigssLCertInfo

HTTP_SERVICE_CONFIG_SSL_SET 结构。

HttpServiceConfigSslSniCertInfo

HTTP_SERVICE_CONFIG_SSL_SNI_SET 结构。 查询 SSL 中央证书存储并使用通配符绑定以及常规 SNI 的主机名时,主机名将为“*”。

HttpServiceConfigSslCcsCertInfo

HTTP_SERVICE_CONFIG_SSL_CCS_SET 结构。 此结构用于在指定端口上添加 CCS 存储,以及删除、检索或更新现有 SSL CCS 记录。

[in] ConfigInfoLength

ConfigInfo 缓冲区的大小(以字节为单位)。

[in] Overlapped

保留且必须为 NULL

返回值

如果函数成功,则返回值 ERROR_SUCCESS

如果函数失败,则返回值为以下错误代码之一。

价值 Meaning
ERROR_FILE_NOT_FOUND
指定的记录不存在。
ERROR_INSUFFICIENT_BUFFER
ConfigInfoLength 参数中指定的缓冲区大小不足。
ERROR_INVALID_HANDLE
ServiceHandle 参数无效。
ERROR_INVALID_PARAMETER
提供的一个或多个参数采用不可用的形式。
ERROR_NO_SUCH_LOGON_SESSION
使用的 SSL 证书无效。 仅当使用 HttpServiceConfigSSLCertInfo 参数时,才会发生这种情况。
其他
WinError.h 中定义的 系统错误代码

注解

使用 HttpUpdateServiceConfiguration 更新的配置参数将应用于计算机上的所有 HTTP 服务器 API 应用程序,并在 HTTP 服务器 API 关闭或计算机重启时保留。

要求

Requirement 价值
最低支持的客户端 Windows 10 版本 1703 [仅限桌面应用]
支持的最低服务器 无受支持的版本
目标平台 Windows操作系统
Header http.h
Library Httpapi.lib
DLL Httpapi.dll

另请参阅

HTTP 服务器 API 版本 1.0 函数

HTTP_SERVICE_CONFIG_ID

HTTP_SERVICE_CONFIG_SSL_CCS_SET

HTTP_SERVICE_CONFIG_SSL_SET

HTTP_SERVICE_CONFIG_SSL_SNI_SET

HttpDeleteServiceConfiguration

HttpQueryServiceConfiguration

HttpSetServiceConfiguration