Поделиться через


Функция HttpUpdateServiceConfiguration (http.h)

Обновляет атомарный параметр конфигурации службы, указывающий сертификат TLS в записи конфигурации HTTP-сервера.

Синтаксис

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. Порт указывается членом KeyDesc структуры HTTP_SERVICE_CONFIG_SSL_CCS_SET , передаваемой в параметр pConfigInfo .

[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-сертификат недопустим. Это может произойти только в том случае, если используется параметр HttpServiceConfigSLCertInfo .
Другое
Системный код ошибки, определенный в WinError.h.

Замечания

Параметры конфигурации, обновляемые с помощью HttpUpdateServiceConfiguration , применяются ко всем приложениям API HTTP-сервера на компьютере и сохраняются при завершении работы API HTTP-сервера или при перезапуске компьютера.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 10 версии 1703 [только классические приложения]
минимальный поддерживаемый сервер Ни одна версия не поддерживается
целевая платформа Виндоус
Header http.h
Library Httpapi.lib
DLL Httpapi.dll

См. также

Функции API HTTP Server версии 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