HttpSetServiceConfiguration 函数 (http.h)

HttpSetServiceConfiguration 函数为 HTTP 服务器 API 配置存储创建和设置配置记录。 如果指定的记录已存在,则调用将失败。 若要更改给定的配置记录,请将其删除,然后使用其他值重新创建它。

Syntax

HTTPAPI_LINKAGE ULONG HttpSetServiceConfiguration(
  [in] HANDLE                 ServiceHandle,
  [in] HTTP_SERVICE_CONFIG_ID ConfigId,
  [in] PVOID                  pConfigInformation,
  [in] ULONG                  ConfigInformationLength,
  [in] LPOVERLAPPED           pOverlapped
);

参数

[in] ServiceHandle

预留。 必须为零。

[in] ConfigId

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

ConfigId Meaning
HttpServiceConfigIPListenList
在 IP 侦听列表中设置记录。
HttpServiceConfigssLCertInfo
设置指定的 SSL 证书记录。
HttpServiceConfigUrlAclInfo
设置 URL 预留记录。
HttpServiceConfigTimeout
设置指定的 HTTP 服务器 API 范围连接超时。

Windows Vista 及更高版本: 支持此枚举值。

HttpServiceConfigSslSniCertInfo
设置指定的 SSL 服务器名称指示(SNI)证书记录。

Windows 8 及更高版本: 支持此枚举值。

HttpServiceConfigSslCcsCertInfo
设置 SSL 证书记录,该记录指定如果端口收到传输层安全性(TLS)握手,Http.sys 应咨询集中式证书存储(CCS)存储以查找证书。 端口由传递给 pConfigInformation 参数的 HTTP_SERVICE_CONFIG_SSL_CCS_SET 结构的 KeyDesc 成员指定。

Windows 8 及更高版本: 支持此枚举值。

[in] pConfigInformation

指向包含适当数据的缓冲区的指针,用于指定要设置的记录类型。

ConfigId Meaning
HttpServiceConfigIPListenList

HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM 结构。

HttpServiceConfigssLCertInfo

HTTP_SERVICE_CONFIG_SSL_SET 结构。

HttpServiceConfigUrlAclInfo

HTTP_SERVICE_CONFIG_URLACL_SET 结构。

HttpServiceConfigTimeout

HTTP_SERVICE_CONFIG_TIMEOUT_SET 结构。

Windows Vista 及更高版本: 支持此结构。

HttpServiceConfigSslSniCertInfo

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

Windows 8 及更高版本: 支持此结构。

HttpServiceConfigSslCcsCertInfo

HTTP_SERVICE_CONFIG_SSL_CCS_SET 结构。

Windows 8 及更高版本: 支持此结构。

[in] ConfigInformationLength

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

[in] pOverlapped

此参数是保留的,必须为 NULL

返回值

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

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

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

注解

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

要求

Requirement 价值
最低支持的客户端 具有 SP2 的 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows操作系统
Header http.h
Library Httpapi.lib
DLL Httpapi.dll

另请参阅

HTTP 服务器 API 版本 1.0 函数

HttpDeleteServiceConfiguration

HttpQueryServiceConfiguration

HttpUpdateServiceConfiguration