Freigeben über


HttpUpdateServiceConfiguration-Funktion (http.h)

Updates atomar einen Dienstkonfigurationsparameter, der ein TLS-Zertifikat (Transport Layer Security) in einem Konfigurationsdatensatz im KONFIGURATIONSspeicher der HTTP-Server-API angibt.

Syntax

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

Parameter

[in] Handle

Reserviert und muss NULL sein.

[in] ConfigId

Der Typ des zu aktualisierenden Konfigurationsdatensatzes. Dieser Parameter kann einer der folgenden Werte aus der HTTP_SERVICE_CONFIG_ID-Enumeration sein.

ConfigId-Wert Bedeutung
HttpServiceConfigSSLCertInfo
Updates einen angegebenen SSL-Zertifikatdatensatz.
HttpServiceConfigSslSniCertInfo
Updates einen angegebenen SNI-Zertifikatdatensatz (SSL Server Name Indication).
HttpServiceConfigSslCcsCertInfo
Updates den SSL-Zertifikatdatensatz, der angibt, dass Http.sys im CCS-Speicher (Centralized Certificate Store) nach Zertifikaten suchen sollen, wenn der Port einen TLS-Handshake empfängt. Der Port wird vom KeyDesc-Element der HTTP_SERVICE_CONFIG_SSL_CCS_SET-Struktur angegeben, die Sie an den pConfigInfo-Parameter übergeben.

[in] ConfigInfo

Ein Zeiger auf einen Puffer, der die entsprechenden Daten zum Angeben des Typs des zu aktualisierenden Datensatzes enthält. Die folgende Tabelle zeigt den Typ der Daten, die der Puffer für die verschiedenen möglichen Werte des ConfigId-Parameters enthält.

ConfigId-Wert Datentyp im pConfigInfo-Puffer
HttpServiceConfigSSLCertInfo

HTTP_SERVICE_CONFIG_SSL_SET Struktur.

HttpServiceConfigSslSniCertInfo

HTTP_SERVICE_CONFIG_SSL_SNI_SET Struktur. Der Hostname lautet "*", wenn der zentrale SSL-Zertifikatspeicher abgefragt und Wildcardbindungen verwendet werden, und ein Hostname für reguläres SNI.

HttpServiceConfigSslCcsCertInfo

HTTP_SERVICE_CONFIG_SSL_CCS_SET Struktur. Diese Struktur wird zum Hinzufügen des CCS-Speichers am angegebenen Port sowie zum Löschen, Abrufen oder Aktualisieren eines vorhandenen SSL-CCS-Eintrags verwendet.

[in] ConfigInfoLength

Die Größe des ConfigInfo-Puffers in Bytes.

[in] Overlapped

Reserviert und muss NULL sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Wert Bedeutung
ERROR_FILE_NOT_FOUND
Der angegebene Datensatz ist nicht vorhanden.
ERROR_INSUFFICIENT_BUFFER
Die im Parameter ConfigInfoLength angegebene Puffergröße reicht nicht aus.
ERROR_INVALID_HANDLE
Der ServiceHandle-Parameter ist ungültig.
ERROR_INVALID_PARAMETER
Mindestens einer der angegebenen Parameter ist in einer nicht verwendbaren Form vorhanden.
ERROR_NO_SUCH_LOGON_SESSION
Das verwendete SSL-Zertifikat ist ungültig. Dies kann nur auftreten, wenn der Parameter HttpServiceConfigSSLCertInfo verwendet wird.
Andere
Ein in WinError.h definierter Systemfehlercode .

Hinweise

Die Konfigurationsparameter, die Sie mit HttpUpdateServiceConfiguration aktualisieren, werden auf alle HTTP-Server-API-Anwendungen auf dem Computer angewendet und beibehalten, wenn die HTTP-Server-API heruntergefahren wird oder der Computer neu gestartet wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1703 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile http.h
Bibliothek Httpapi.lib
DLL Httpapi.dll

Weitere Informationen

Funktionen der HTTP-Server-API, Version 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