httpAddUrl 函数 (http.h)
HttpAddUrl 函数注册给定的 URL,以便将其匹配的请求路由到指定的 HTTP 服务器 API 请求队列。 应用程序可以使用对 HttpAddUrl 的重复调用,将多个 URL 注册到单个请求队列。 有关 HTTP 服务器 API 如何将请求 URL 与已注册的 URL 匹配的详细信息,请参阅 UrlPrefix 字符串。
从 HTTP 服务器 API 版本 2.0 开始,应用程序应调用 HttpAddUrlToUrlGroup 来注册 URL;不应使用 HttpAddUrl 。
语法
HTTPAPI_LINKAGE ULONG HttpAddUrl(
[in] HANDLE RequestQueueHandle,
[in] PCWSTR FullyQualifiedUrl,
PVOID Reserved
);
参数
[in] RequestQueueHandle
请求队列的句柄,指定 URL 的请求将路由到该队列。 创建请求队列,并通过调用 HttpCreateRequestQueue 函数返回其句柄。
带 SP1 的 Windows Server 2003 和 SP2 的 Windows XP: 请求队列的句柄由 HttpCreateHttpHandle 函数创建。
[in] FullyQualifiedUrl
指向 Unicode 字符串的指针,该字符串包含格式正确的 UrlPrefix 字符串 ,该字符串标识要注册的 URL。
Reserved
保留;必须为 NULL。
返回值
如果函数成功,则返回值 NO_ERROR。
如果函数失败,则返回值为以下错误代码之一。
值 | 含义 |
---|---|
|
调用应用程序没有注册 URL 的权限。 |
|
调用应用程序在调用此函数之前未调用 HttpInitialize 。 |
|
其中一个参数无效。 |
|
指定的 UrlPrefix 与现有注册冲突。 |
|
资源不足,无法完成操作。 |
|
WinError.h 中定义的 系统错误代码 。 |
注解
如 UrlPrefix 字符串 主题中所述,要注册的 UrlPrefix 的方案规范必须是小写“http”或小写“https”。 没有其他子字符串有效。
此外,无法在同一端口上注册具有不同方案的 URL。 也就是说,“http”和“https”方案不能在端口上共存。
另请注意,只要字符串格式良好, HttpAddUrl 就会注册传递给它的任何 UrlPrefix。 对指定 URL 命名空间的存在、可访问性、所有权或其他特征的任何验证必须由应用程序处理。
若要释放由于 HttpAddUrl 执行的注册而分配的资源,请在应用程序完成涉及的命名空间时对 HttpRemoveUrl 函数进行匹配调用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista、Windows XP 和 SP2 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | http.h |
Library | Httpapi.lib |
DLL | Httpapi.dll |