次の方法で共有


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
Library Httpapi.lib
[DLL] Httpapi.dll

関連項目

HTTP Server API バージョン 2.0 関数

HttpCloseRequestQueue

HttpCreateRequestQueue

HttpQueryRequestQueueProperty

HttpSetRequestQueueProperty