Fonction HttpUpdateServiceConfiguration (http.h)

Mises à jour atomiquement un paramètre de configuration de service qui spécifie un certificat TLS (Transport Layer Security) dans un enregistrement de configuration dans le magasin de configuration de l’API du serveur HTTP.

Syntaxe

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

Paramètres

[in] Handle

Réservé et doit avoir la valeur NULL.

[in] ConfigId

Type d’enregistrement de configuration à mettre à jour. Ce paramètre peut être l’une des valeurs suivantes de l’énumération HTTP_SERVICE_CONFIG_ID .

Valeur configId Signification
HttpServiceConfigSSLCertInfo
Mises à jour un enregistrement de certificat SSL spécifié.
HttpServiceConfigSslSniCertInfo
Mises à jour un enregistrement de certificat SNI (SSL Server Name Indication) spécifié.
HttpServiceConfigSslCcsCertInfo
Mises à jour l’enregistrement de certificat SSL qui spécifie que Http.sys doit consulter le magasin de certificats centralisé (CCS) pour rechercher les certificats si le port reçoit une négociation TLS. Le port est spécifié par le membre KeyDesc de la structure HTTP_SERVICE_CONFIG_SSL_CCS_SET que vous passez au paramètre pConfigInfo .

[in] ConfigInfo

Pointeur vers une mémoire tampon qui contient les données appropriées pour spécifier le type d’enregistrement à mettre à jour. Le tableau suivant montre le type de données que la mémoire tampon contient pour les différentes valeurs possibles du paramètre ConfigId .

Valeur configId Type de données dans la mémoire tampon pConfigInfo
HttpServiceConfigSSLCertInfo

HTTP_SERVICE_CONFIG_SSL_SET structure.

HttpServiceConfigSslSniCertInfo

HTTP_SERVICE_CONFIG_SSL_SNI_SET structure. Le nom d’hôte est « * » lorsque le magasin de certificats central SSL est interrogé et que des liaisons de caractères génériques sont utilisées, ainsi qu’un nom d’hôte pour le SNI standard.

HttpServiceConfigSslCcsCertInfo

HTTP_SERVICE_CONFIG_SSL_CCS_SET structure. Cette structure est utilisée pour ajouter le magasin CCS sur le port spécifié, ainsi que pour supprimer, récupérer ou mettre à jour un enregistrement CCS SSL existant.

[in] ConfigInfoLength

Taille, en octets, de la mémoire tampon ConfigInfo .

[in] Overlapped

Réservé et doit avoir la valeur NULL.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.

Valeur Signification
ERROR_FILE_NOT_FOUND
L’enregistrement spécifié n’existe pas.
ERROR_INSUFFICIENT_BUFFER
La taille de mémoire tampon spécifiée dans le paramètre ConfigInfoLength est insuffisante.
ERROR_INVALID_HANDLE
Le paramètre ServiceHandle n’est pas valide.
ERROR_INVALID_PARAMETER
Un ou plusieurs des paramètres fournis sont sous une forme inutilisable.
ERROR_NO_SUCH_LOGON_SESSION
Le certificat SSL utilisé n’est pas valide. Cela ne peut se produire que si le paramètre HttpServiceConfigSSLCertInfo est utilisé.
Autres
Code d’erreur système défini dans WinError.h.

Remarques

Les paramètres de configuration que vous mettez à jour avec HttpUpdateServiceConfiguration sont appliqués à toutes les applications d’API serveur HTTP sur l’ordinateur et persistent lorsque l’API du serveur HTTP s’arrête ou lorsque l’ordinateur est redémarré.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1703 [applications de bureau uniquement]
Serveur minimal pris en charge Aucun pris en charge
Plateforme cible Windows
En-tête http.h
Bibliothèque Httpapi.lib
DLL Httpapi.dll

Voir aussi

Fonctions API de serveur HTTP 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