Функция 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*
Количество потребляемых байтов. Если pvReason имеет значение NULL , а dwReasonLength равно 0, pdwReasonLengthConsumed будет содержать размер буфера, который должен быть выделен вызывающим приложением.
Возвращаемое значение
Тип: DWORD
NO_ERROR на успех. В противном случае — код ошибки.
Описание | |
---|---|
|
В pvReason недостаточно места, чтобы написать всю причину закрытия. |
|
Закрытая рамка пока не получена. |
|
Недопустимый параметр. |
Комментарии
Вызывайте WinHttpWebSocketQueryCloseStatus только после успешного выполнения WinHttpWebSocketClose или после того, как WinHttpWebSocketReceive возвращает WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE.
PdwReasonLengthConsumed никогда не будет больше 123, поэтому выделение буфера по крайней мере с 123 гарантирует, что ERROR_INSUFFICIENT_BUFFER никогда не будут возвращены.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | winhttp.h |
Библиотека | Winhttp.lib |
DLL | Winhttp.dll |