| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/ |
Upload File : |
/*++
Copyright (c) Microsoft. All rights reserved.
Module Name:
iiswebsocket.h
Abstract:
Header file for IIS Websocket API's.
--*/
#ifndef _IISWEBSOCKET_H
#ifdef _MSC_VER
#pragma once
#endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if NTDDI_VERSION >= NTDDI_WIN8
#define IIS_WEBSOCKET L"websockets"
#define IIS_WEBSOCKET_SERVER_VARIABLE "IIS_WEBSOCK"
typedef
VOID
(WINAPI * PFN_WEBSOCKET_COMPLETION)(
HRESULT hrError,
VOID * pvCompletionContext,
DWORD cbIO,
BOOL fUTF8Encoded,
BOOL fFinalFragment,
BOOL fClose
);
class IWebSocketContext : public IHttpStoredContext
{
public:
virtual
HRESULT
WriteFragment(
_In_ VOID * pData,
_Inout_ DWORD * pcbSent,
_In_ BOOL fAsync,
_In_ BOOL fUTF8Encoded,
_In_ BOOL fFinalFragment,
_In_ PFN_WEBSOCKET_COMPLETION pfnCompletion = NULL,
_In_ VOID * pvCompletionContext = NULL,
_Out_ BOOL * pfCompletionExpected = NULL
) = 0;
virtual
HRESULT
ReadFragment(
_Out_ VOID * pData,
_Inout_ DWORD * pcbData,
_In_ BOOL fAsync,
_Out_ BOOL * pfUTF8Encoded,
_Out_ BOOL * pfFinalFragment,
_Out_ BOOL * pfConnectionClose,
_In_ PFN_WEBSOCKET_COMPLETION pfnCompletion = NULL,
_In_ VOID * pvCompletionContext = NULL,
_Out_ BOOL * pfCompletionExpected = NULL
) = 0;
virtual
HRESULT
SendConnectionClose(
_In_ BOOL fAsync,
_In_ USHORT uStatusCode,
_In_ LPCWSTR pszReason = NULL,
_In_ PFN_WEBSOCKET_COMPLETION pfnCompletion = NULL,
_In_ VOID * pvCompletionContext = NULL,
_Out_ BOOL * pfCompletionExpected = NULL
) = 0;
virtual
HRESULT
GetCloseStatus(
_Out_ USHORT * pStatusCode,
_Out_ LPCWSTR * ppszReason = NULL,
_Out_ USHORT * pcchReason = NULL
) = 0;
virtual
VOID
CloseTcpConnection(
VOID
) = 0;
virtual
VOID
CancelOutstandingIO(
VOID
) = 0;
};
#endif /* NTDDI_VERSION >= NTDDI_WIN8 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#define _IISWEBSOCKET_H
#endif /* _IISWEBSOCKET_H */