Share via


HTTPAddUrl 函式 (HTTP.h)

HttpAddUrl 函式會註冊指定的 URL,讓符合它的要求路由傳送至指定的 HTTP 伺服器 API 要求佇列。 應用程式可以使用對 HttpAddUrl 的重複呼叫,向單一要求佇列註冊多個 URL。 如需 HTTP Server API 如何比對要求 URL 與已註冊 URL 的詳細資訊,請參閱 UrlPrefix 字串

從 HTTP Server API 2.0 版開始,應用程式應該呼叫 HttpAddUrlToUrlGroup 來註冊 URL;不應該使用 HttpAddUrl

語法

HTTPAPI_LINKAGE ULONG HttpAddUrl(
  [in] HANDLE RequestQueueHandle,
  [in] PCWSTR FullyQualifiedUrl,
       PVOID  Reserved
);

參數

[in] RequestQueueHandle

要路由傳送所指定 URL 要求的要求佇列句柄。 系統會建立要求佇列,並透過呼叫 HttpCreateRequestQueue 函式所傳回的句柄。

Windows Server 2003 SP1 和 Windows XP SP2: 要求佇列的句柄是由 HttpCreateHttpHandle 函式所建立。

[in] FullyQualifiedUrl

Unicode 字串的指標,其中包含正確格式的 UrlPrefix 字串 ,可識別要註冊的 URL。

Reserved

保留;必須是 NULL

傳回值

如果函式成功,傳回值 會NO_ERROR

如果函式失敗,傳回值就是下列其中一個錯誤碼。

意義
ERROR_ACCESS_DENIED
呼叫的應用程式沒有註冊 URL 的許可權。
ERROR_DLL_INIT_FAILED
呼叫此函式之前,呼叫應用程式未呼叫 HttpInitialize
ERROR_INVALID_PARAMETER
其中一個參數無效。
ERROR_ALREADY_EXISTS
指定的 UrlPrefix 與現有的註冊衝突。
ERROR_NOT_ENOUGH_MEMORY
資源不足,無法完成作業。
其他
WinError.h 中定義的 系統錯誤碼

備註

UrlPrefix Strings 主題所述,要註冊的 UrlPrefix 配置規格必須是小寫 “http” 或小寫 “https”。 沒有其他子字串有效。

此外,您無法在相同的埠上註冊具有不同配置的 URL。 也就是說,埠上不能並存 「HTTP」 和 「HTTPs」 配置。

也請注意,只要字串格式正確, HttpAddUrl 就會註冊傳遞給它的任何 UrlPrefix。 應用程式必須處理指定 URL 命名空間是否存在、輔助功能、擁有權或其他特性的任何驗證。

若要釋放因 HttpAddUrl 所執行註冊而配置的資源,請在您的應用程式完成涉及命名空間時,對 HttpRemoveUrl 函式進行比對呼叫。

規格需求

需求
最低支援的用戶端 Windows Vista、Windows XP 與 SP2 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 http.h
程式庫 Httpapi.lib
Dll Httpapi.dll

另請參閱

HTTP 伺服器 API 1.0 版函式

HttpAddUrlToUrlGroup

HttpRemoveUrl