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


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

Обновления атомарно параметр конфигурации службы, указывающий tls-сертификат в записи конфигурации в хранилище конфигурации API 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 Значение
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.

Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.

Значение Значение
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 , применяются ко всем приложениям API HTTP-сервера на компьютере и сохраняются при завершении работы API HTTP-сервера или при перезагрузке компьютера.

Требования

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

См. также раздел

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