共用方式為


WinHttpWebSocketQueryCloseStatus 函式 (winHTTP.h)

WinHttpWebSocketQueryCloseStatus 函式會擷取伺服器所傳送的關閉狀態。

語法

WINHTTPAPI DWORD WinHttpWebSocketQueryCloseStatus(
  [in]  HINTERNET hWebSocket,
  [out] USHORT    *pusStatus,
  [out] PVOID     pvReason,
  [in]  DWORD     dwReasonLength,
  [out] DWORD     *pdwReasonLengthConsumed
);

參數

[in] hWebSocket

類型: HINTERNET

WebSocket 的句柄

[out] pusStatus

類型: USHORT*

傳回時會填入之關閉狀態代碼的指標。 如需可能的值 ,請參閱WINHTTP_WEB_SOCKET_CLOSE_STATUS

[out] pvReason

類型: PVOID

緩衝區的指標,會在傳回時收到關閉原因。

[in] dwReasonLength

類型: DWORD

pvReason 緩衝區的長度,以位元組為單位。

[out] pdwReasonLengthConsumed

類型: DWORD*

已取用的位元組數目。 如果 pvReasonNULLdwReasonLength 為 0,pdwReasonLengthConsumed 將會包含呼叫應用程式必須配置的緩衝區大小。

傳回值

類型: DWORD

成功NO_ERROR 。 否則為錯誤碼。

Description
ERROR_INSUFFICIENT_BUFFER
pvReason 中沒有足夠的空間可寫入整個關閉原因。
ERROR_INVALID_OPERATION
尚未收到關閉框架。
ERROR_INVALID_PARAMETER
有一個參數無效。

備註

只有在 WinHttpWebSocketClose 成功或 WinHttpWebSocketReceive 傳回WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE之後,才呼叫 WinHttpWebSocketQueryCloseStatus

pdwReasonLengthConsumed 永遠不會大於 123,因此配置至少 123 的緩衝區將保證永遠不會傳回 ERROR_INSUFFICIENT_BUFFER

規格需求

需求
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 winhttp.h
程式庫 Winhttp.lib
Dll Winhttp.dll

另請參閱

WINHTTP_WEB_SOCKET_CLOSE_STATUS

WinHttpWebSocketClose

WinHttpWebSocketReceive