Condividi tramite


Funzione HttpUpdateServiceConfiguration (http.h)

Aggiorna in modo atomico un parametro di configurazione del servizio che specifica un certificato TLS (Transport Layer Security) in un record di configurazione all'interno dell'archivio di configurazione dell'API del server HTTP.

Sintassi

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

Parametri

[in] Handle

Riservato e deve essere NULL.

[in] ConfigId

Tipo di record di configurazione da aggiornare. Questo parametro può essere uno dei valori seguenti dell'enumerazione HTTP_SERVICE_CONFIG_ID .

Valore ConfigId Meaning
HttpServiceConfigSSLCertInfo
Aggiorna un record di certificato SSL specificato.
HttpServiceConfigSslSniCertInfo
Aggiorna un record di certificato SNI (SSL Server Name Indication) specificato.
HttpServiceConfigSslCcsCertInfo
Aggiorna il record del certificato SSL che specifica che Http.sys deve consultare l'archivio dell'archivio certificati centralizzato (CCS) per trovare i certificati se la porta riceve un handshake TLS. La porta viene specificata dal membro KeyDesc della struttura HTTP_SERVICE_CONFIG_SSL_CCS_SET passata al parametro pConfigInfo .

[in] ConfigInfo

Puntatore a un buffer contenente i dati appropriati per specificare il tipo di record da aggiornare. Nella tabella seguente viene illustrato il tipo di dati contenuto nel buffer per i diversi valori possibili del parametro ConfigId .

Valore ConfigId Tipo di dati nel buffer pConfigInfo
HttpServiceConfigSSLCertInfo

HTTP_SERVICE_CONFIG_SSL_SET struttura.

HttpServiceConfigSslSniCertInfo

HTTP_SERVICE_CONFIG_SSL_SNI_SET struttura. Il nome host sarà "*" quando viene eseguita una query nell'archivio certificati centrale SSL e vengono usate associazioni con caratteri jolly e un nome host per la normale SNI.

HttpServiceConfigSslCcsCertInfo

HTTP_SERVICE_CONFIG_SSL_CCS_SET struttura. Questa struttura viene usata per aggiungere l'archivio CCS sulla porta specificata, nonché per eliminare, recuperare o aggiornare un record CCS SSL esistente.

[in] ConfigInfoLength

Dimensioni, in byte, del buffer ConfigInfo .

[in] Overlapped

Riservato e deve essere NULL.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.

Value Meaning
ERROR_FILE_NOT_FOUND
Il record specificato non esiste.
ERROR_INSUFFICIENT_BUFFER
Le dimensioni del buffer specificate nel parametro ConfigInfoLength non sono sufficienti.
ERROR_INVALID_HANDLE
Il parametro ServiceHandle non è valido.
ERROR_INVALID_PARAMETER
Uno o più parametri forniti sono in formato inutilizzabile.
ERROR_NO_SUCH_LOGON_SESSION
Il certificato SSL usato non è valido. Questa situazione può verificarsi solo se viene usato il parametro HttpServiceConfigSSLCertInfo .
Altro
Codice di errore di sistema definito in WinError.h.

Osservazioni:

I parametri di configurazione che si aggiornano con HttpUpdateServiceConfiguration vengono applicati a tutte le applicazioni API server HTTP nel computer e vengono mantenuti quando l'API server HTTP viene arrestata o quando il computer viene riavviato.

Requisiti

Requisito Value
Client minimo supportato Windows 10, versione 1703 [solo app desktop]
Server minimo supportato Nessuna supportata
Piattaforma di destinazione Windows
Header http.h
Library Httpapi.lib
DLL Httpapi.dll

Vedere anche

Funzioni dell'API server HTTP versione 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