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

如果函数失败,则返回值为以下错误代码之一。

含义
ERROR_ACCESS_DENIED
调用应用程序没有注册 URL 的权限。
ERROR_DLL_INIT_FAILED
调用应用程序在调用此函数之前未调用 HttpInitialize
ERROR_INVALID_PARAMETER
其中一个参数无效。
ERROR_ALREADY_EXISTS
指定的 UrlPrefix 与现有注册冲突。
ERROR_NOT_ENOUGH_MEMORY
资源不足,无法完成操作。
其他
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

另请参阅

HTTP 服务器 API 版本 1.0 函数

HttpAddUrlToUrlGroup

HttpRemoveUrl