Функция HttpShutdownRequestQueue (http.h)

Функция HttpShutdownRequestQueue останавливает очереди запросов для указанного процесса очереди запросов. Невыполненные вызовы HttpReceiveHttpRequest отменяется.

Синтаксис

HTTPAPI_LINKAGE ULONG HttpShutdownRequestQueue(
  [in] HANDLE RequestQueueHandle
);

Параметры

[in] RequestQueueHandle

Дескриптор очереди запросов, которая завершает работу. Создается очередь запроса, и ее дескриптор возвращается вызовом функции HttpCreateRequestQueue .

Возвращаемое значение

Если функция завершается успешно, она возвращает NO_ERROR

Если функция завершается сбоем, она возвращает один из следующих кодов ошибок.

Значение Значение
ERROR_INVALID_PARAMETER
Параметр ReqQueueHandle не содержит допустимую очередь запросов.

Приложение не имеет разрешения на завершение работы очереди запросов.

Комментарии

HttpShutdownRequestQueue отменяет незавершенные запросы и останавливает всю обработку в процессе очереди запросов. При вызове этой функции выполняются следующие действия:

  1. Процесс очереди запросов помечен для очистки, и новые запросы не направляются в процесс очереди запросов.
  2. Если вызывающий процесс является контроллером, незавершенные вызовы HttpWaitForDemandStart отменяются.
  3. Ожидающие вызовы HttpReceiveHttpRequest из вызывающего процесса отменяются.
  4. Запросы, которые уже привязаны к вызывающей процедуре, отменяются.
  5. Незавершенные ожидающие запросы, помещенные в очередь процесса очереди запросов, перенаправляются в другой процесс очереди запросов. Если другой процесс очереди запросов недоступен, ожидающие запросы сохраняются до закрытия очереди запросов или до запуска другого процесса очереди запросов, не являющегося контроллером.
  6. Ожидающие вызовы HttpWaitForDisconnect , инициированные вызывающим процессом, отменяются.
  7. Невыполненные ответы, указанные вызывающим процессом, не затрагиваются, они правильно завершены.

Имейте в виду, что если дескриптор очереди запросов совместно используется несколькими процессами, HttpShutdownRequestQueue ограничивает очистку вызывающим процессом. Другие процессы, которые в настоящее время работают с очередью запросов, не затрагиваются.

HttpShutdownRequestQueue может использоваться приложениями для перезапуска процессов очереди запросов. Для этого вызывается HttpShutdownRequestQueue перед прекращением процесса, который совместно использует очередь запросов с другими процессами. После возврата httpShutdownRequestQueue процесс можно безопасно завершить или перезаработать.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header http.h
Библиотека Httpapi.lib
DLL Httpapi.dll

См. также раздел

Функции API HTTP-сервера версии 2.0

HttpCloseRequestQueue

HttpCreateRequestQueue

HttpQueryRequestQueueProperty

HttpSetRequestQueueProperty