다음을 통해 공유


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
헤더 http.h
라이브러리 Httpapi.lib
DLL Httpapi.dll

참고 항목

HTTP 서버 API 버전 2.0 함수

HttpCloseRequestQueue

HttpCreateRequestQueue

HttpQueryRequestQueueProperty

HttpSetRequestQueueProperty