以不可部分完成方式更新服務配置參數,該參數會在 HTTP Server API 配置儲存庫內的配置記錄中指定傳輸層安全 (TLS) 憑證。
語法
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 |
|---|---|
|
更新指定的 SSL 憑證記錄。 |
|
更新指定的 SSL 伺服器名稱指示(SNI)憑證記錄。 |
|
更新 SSL 憑證記錄,規定若埠口收到 TLS 握手,Http.sys 應查詢集中憑證儲存庫(CCS)儲存庫以尋找憑證。 埠碼由你傳遞給 pConfigInfo 參數的 HTTP_SERVICE_CONFIG_SSL_CCS_SET 結構中的 KeyDesc 成員指定。 |
[in] ConfigInfo
一個指向緩衝區的指標,該緩衝區包含適當資料,以指定要更新的記錄類型。 下表顯示緩衝區中不同 ConfigId 參數可能值的資料類型。
| ConfigId 值 | pConfigInfo 緩衝區中的資料類型 |
|---|---|
|
|
|
HTTP_SERVICE_CONFIG_SSL_SNI_SET 結構。 當查詢 SSL 中央憑證儲存並使用通配碼綁定時,主機名稱會顯示為「*」,一般 SNI 則使用主機名稱。 |
|
HTTP_SERVICE_CONFIG_SSL_CCS_SET 結構。 此結構用於在指定埠口新增 CCS 儲存,以及刪除、檢索或更新現有的 SSL CCS 記錄。 |
[in] ConfigInfoLength
ConfigInfo 緩衝區的大小(以位元組為單位)。
[in] Overlapped
保留且必須為 NULL。
返回值
如果函式成功,則傳回值為 ERROR_SUCCESS。
如果函式失敗,傳回值會是下列其中一個錯誤碼。
| 價值觀 | Meaning |
|---|---|
|
該紀錄不存在。 |
|
ConfigInfoLength 參數中指定的緩衝區大小不足。 |
|
ServiceHandle 參數無效。 |
|
其中一個或多個提供的參數呈現無法使用的狀態。 |
|
所使用的 SSL 憑證是無效的。 這只有在使用 HttpServiceConfigSSLCertInfo 參數時才會發生。 |
|
系統 錯誤代碼 定義於 WinError.h. |
備註
你用 HttpUpdateServiceConfiguration 更新的設定參數會套用到機器上所有 HTTP Server API 應用程式,當 HTTP Server API 關閉或電腦重新啟動時,參數會持續存在。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 10 版本 1703 [僅限傳統型應用程式] |
| 支援的最低伺服器 | 不支援 |
| 目標平臺 | 窗戶 |
| Header | http.h |
| Library | httpapi.lib |
| DLL | Httpapi.dll |
另請參閱
HTTP_SERVICE_CONFIG_SSL_CCS_SET