HttpSetServiceConfiguration 函式為 HTTP Server API 設定儲存庫建立並設定設定記錄。 若指定的記錄已存在,呼叫即失敗。 要更改設定記錄,先刪除它,然後用不同的值重新建立。
語法
HTTPAPI_LINKAGE ULONG HttpSetServiceConfiguration(
[in] HANDLE ServiceHandle,
[in] HTTP_SERVICE_CONFIG_ID ConfigId,
[in] PVOID pConfigInformation,
[in] ULONG ConfigInformationLength,
[in] LPOVERLAPPED pOverlapped
);
參數
[in] ServiceHandle
已保留。 必須為零。
[in] ConfigId
要設定的設定紀錄類型。 此參數可為 HTTP_SERVICE_CONFIG_ID 枚舉中的以下數值之一。
| ConfigId 值 | Meaning |
|---|---|
|
在 IP 聽取清單中創下紀錄。 |
|
設定指定的 SSL 憑證記錄。 |
|
建立一個網址保留紀錄。 |
|
設定指定的 HTTP Server API 範圍連線逾時。 Windows Vista 及之後版本: 此枚舉值是有支持的。 |
|
設定指定的 SSL 伺服器名稱指示(SNI)憑證記錄。
Windows 8 及以後版本: 此枚舉值是有支持的。 |
|
設定 SSL 憑證記錄,規定若埠口收到傳輸層安全(TLS)握手,Http.sys 應查詢集中憑證儲存庫(CCS)儲存以尋找憑證。 埠由你傳遞給 pConfigInformation 參數的 KeyDesc 成員指定,HTTP_SERVICE_CONFIG_SSL_CCS_SET結構中的角色。
Windows 8 及以後版本: 此枚舉值是有支持的。 |
[in] pConfigInformation
一個指向緩衝區的指標,該緩衝區包含指定要設定的記錄類型所需的資料。
| ConfigId 值 | Meaning |
|---|---|
|
|
|
|
|
|
|
HTTP_SERVICE_CONFIG_TIMEOUT_SET 結構。 Windows Vista 及之後版本: 這個結構是有支撐的。 |
|
HTTP_SERVICE_CONFIG_SSL_SNI_SET 結構。 當查詢 SSL 中央憑證儲存並使用通配碼綁定時,主機名稱會顯示為「*」,一般 SNI 則使用主機名稱。 Windows 8 及以後版本: 這個結構是有支撐的。 |
|
HTTP_SERVICE_CONFIG_SSL_CCS_SET 結構。 Windows 8 及以後版本: 這個結構是有支撐的。 |
[in] ConfigInformationLength
pConfigInformation 緩衝區的大小(以位元組為單位)。
[in] pOverlapped
此參數是保留的,且必須為 Null。
返回值
若函式成功,回傳值為 NO_ERROR。
如果函式失敗,傳回值會是下列其中一個錯誤碼。
| 價值觀 | Meaning |
|---|---|
|
指定的記錄已經存在,必須刪除才能重置其值。 |
|
ConfigInformationLength 參數中指定的緩衝區大小不足。 |
|
ServiceHandle 參數無效。 |
|
其中一個或多個提供的參數呈現無法使用的狀態。 |
|
所使用的 SSL 憑證是無效的。 這只有在使用 HttpServiceConfigSSLCertInfo 參數時才會發生。 |
|
系統 錯誤代碼 定義於 WinError.h. |
備註
HttpSetServiceConfiguration 所設定的設定參數會套用到機器上所有 HTTP Server API 應用程式,當 HTTP Server API 關閉或電腦重新啟動時,參數會持續存在。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows XP 搭配 SP2 [僅限桌面應用程式] |
| 支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
| 目標平臺 | 窗戶 |
| Header | http.h |
| Library | httpapi.lib |
| DLL | Httpapi.dll |