HttpShutdownRequestQueue 函数 (http.h)

HttpShutdownRequestQueue 函数停止对指定请求队列进程的排队请求。 取消对 HttpReceiveHttpRequest 的 未完成调用。

语法

HTTPAPI_LINKAGE ULONG HttpShutdownRequestQueue(
  [in] HANDLE RequestQueueHandle
);

parameters

[in] RequestQueueHandle

关闭的请求队列的句柄。 创建请求队列,并通过调用 HttpCreateRequestQueue 函数返回其句柄。

返回值

如果函数成功,则返回 NO_ERROR

如果函数失败,它将返回以下错误代码之一。

含义
ERROR_INVALID_PARAMETER
ReqQueueHandle 参数不包含有效的请求队列。

应用程序没有关闭请求队列的权限。

注解

HttpShutdownRequestQueue 取消未完成的请求,并停止对请求队列进程的所有处理。 调用此函数时,将执行以下步骤:

  1. 请求队列进程标记为要清理,并且不会将新请求路由到请求队列进程。
  2. 如果调用进程是控制器,则取消未完成的 HttpWaitForDemandStart 调用。
  3. 从调用进程取消挂起的 HttpReceiveHttpRequest 调用。
  4. 已绑定到调用进程的请求将被取消。
  5. 排队到请求队列进程的未接收挂起请求重新路由到另一个请求队列进程。 如果没有其他请求队列进程可用,则会保存挂起的请求,直到请求队列关闭或启动其他非控制器请求队列进程。
  6. 挂起的由调用进程发起的 HttpWaitForDisconnect 调用将被取消。
  7. 调用进程指示的未完成响应不受影响,它们已正确完成。

请注意,如果请求队列句柄由多个进程共享, HttpShutdownRequestQueue 会将清理限制为调用进程。 当前在请求队列上运行的其他进程不受影响。

应用程序可以使用 HttpShutdownRequestQueue 来回收请求队列进程。 为此,在终止与其他进程共享请求队列的进程之前,将调用 HttpShutdownRequestQueueHttpShutdownRequestQueue 返回后,可以安全地终止或回收进程。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 http.h
Library Httpapi.lib
DLL Httpapi.dll

另请参阅

HTTP 服务器 API 版本 2.0 函数

HttpCloseRequestQueue

HttpCreateRequestQueue

HttpQueryRequestQueueProperty

HttpSetRequestQueueProperty