次の方法で共有


WinHttpWebSocketShutdown 関数 (winhttp.h)

WinHttpWebSocketShutdown 関数は、送信チャネルを閉じる WebSocket サーバーに閉じるフレームを送信しますが、受信チャネルは開いたままにします。

構文

WINHTTPAPI DWORD WinHttpWebSocketShutdown(
  [in]           HINTERNET hWebSocket,
  [in]           USHORT    usStatus,
  [in, optional] PVOID     pvReason,
  [in]           DWORD     dwReasonLength
);

パラメーター

[in] hWebSocket

型: HINTERNET

WebSocket へのハンドル。

WinHttpWebSocketShutdown では、このハンドルは閉じません。 ハンドルを閉じるには、不要になったら hWebSocketWinHttpCloseHandle を呼び出します。

 

[in] usStatus

種類: USHORT

終了状態コード。 使用可能な値については 、「WINHTTP_WEB_SOCKET_CLOSE_STATUS 」を参照してください。

[in, optional] pvReason

種類: PVOID

クローズの詳細な理由。

[in] dwReasonLength

型: DWORD

pvReason の長さ (バイト単位)。

pvReason が NULL の場合、これは 0 である必要があります。 この値は、0 ~ 123 の範囲内である必要があります。

戻り値

型: DWORD

次の例外では、すべてのエラー コードは、基になる TCP 接続が中止されたことを示します。

説明
ERROR_IO_PENDING
操作は非同期的に完了します。

解説

WinHttpWebSocketShutdown は閉じるフレームを送信し、WebSocket 接続経由で追加のデータが送信されないようにします。 受信チャネルは閉じません。 接続を完全に閉じ、後続の受信操作を防止する場合は、 WinHttpWebSocketClose を使用します。

アプリケーションは、(通常の受信操作を通じて) サーバーから閉じたフレームを受信する役割を担います。

WinHttpWebSocketShutdown が呼び出された後、アプリケーションは WinHttpWebSocketClose を呼び出すことができます。それ自体で閉じるフレームを受信せず、それをスタックに委任する必要がない場合は、WinHttpWebSocketClose を呼び出すことができます。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winhttp.h
Library Winhttp.lib
[DLL] Winhttp.dll

関連項目

WINHTTP_WEB_SOCKET_CLOSE_STATUS

WinHttpCloseHandle

WinHttpWebSocketClose