// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.ApplicationModel.Background.idl"; import "Windows.Networking.idl"; import "Windows.Networking.Connectivity.idl"; import "Windows.Security.Credentials.idl"; import "Windows.Security.Cryptography.Certificates.idl"; import "Windows.Storage.Streams.idl"; import "Windows.Web.idl"; // Forward Declare namespace Windows { namespace ApplicationModel { namespace Background { interface IBackgroundTask; interface IBackgroundTrigger; } } } namespace Windows { namespace Foundation { runtimeclass Deferral; interface IAsyncAction; interface IClosable; typedef struct TimeSpan TimeSpan; apicontract UniversalApiContract; runtimeclass Uri; } } namespace Windows { namespace Networking { namespace Connectivity { runtimeclass NetworkAdapter; } } } namespace Windows { namespace Networking { runtimeclass EndpointPair; runtimeclass HostName; typedef enum HostNameSortOptions HostNameSortOptions; } } namespace Windows { namespace Security { namespace Credentials { runtimeclass PasswordCredential; } } } namespace Windows { namespace Security { namespace Cryptography { namespace Certificates { runtimeclass Certificate; typedef enum ChainValidationResult ChainValidationResult; } } } } namespace Windows { namespace Storage { namespace Streams { runtimeclass DataReader; interface IBuffer; interface IInputStream; interface IOutputStream; } } } namespace Windows { namespace Web { typedef enum WebErrorStatus WebErrorStatus; } } namespace Windows { namespace Networking { namespace Sockets { apicontract ControlChannelTriggerContract; typedef enum ControlChannelTriggerResetReason ControlChannelTriggerResetReason; typedef enum ControlChannelTriggerResourceType ControlChannelTriggerResourceType; typedef enum ControlChannelTriggerStatus ControlChannelTriggerStatus; typedef enum MessageWebSocketReceiveMode MessageWebSocketReceiveMode; typedef enum SocketActivityConnectedStandbyAction SocketActivityConnectedStandbyAction; typedef enum SocketActivityKind SocketActivityKind; typedef enum SocketActivityTriggerReason SocketActivityTriggerReason; typedef enum SocketErrorStatus SocketErrorStatus; typedef enum SocketMessageType SocketMessageType; typedef enum SocketProtectionLevel SocketProtectionLevel; typedef enum SocketQualityOfService SocketQualityOfService; typedef enum SocketSslErrorSeverity SocketSslErrorSeverity; typedef struct BandwidthStatistics BandwidthStatistics; typedef struct RoundTripTimeStatistics RoundTripTimeStatistics; interface IControlChannelTrigger; interface IControlChannelTrigger2; interface IControlChannelTriggerEventDetails; interface IControlChannelTriggerFactory; interface IControlChannelTriggerResetEventDetails; interface IDatagramSocket; interface IDatagramSocket2; interface IDatagramSocket3; interface IDatagramSocketControl; interface IDatagramSocketControl2; interface IDatagramSocketControl3; interface IDatagramSocketInformation; interface IDatagramSocketMessageReceivedEventArgs; interface IDatagramSocketStatics; interface IMessageWebSocket; interface IMessageWebSocket2; interface IMessageWebSocket3; interface IMessageWebSocketControl; interface IMessageWebSocketControl2; interface IMessageWebSocketMessageReceivedEventArgs; interface IMessageWebSocketMessageReceivedEventArgs2; interface IServerMessageWebSocket; interface IServerMessageWebSocketControl; interface IServerMessageWebSocketInformation; interface IServerStreamWebSocket; interface IServerStreamWebSocketInformation; interface ISocketActivityContext; interface ISocketActivityContextFactory; interface ISocketActivityInformation; interface ISocketActivityInformationStatics; interface ISocketActivityTriggerDetails; interface ISocketErrorStatics; interface IStreamSocket; interface IStreamSocket2; interface IStreamSocket3; interface IStreamSocketControl; interface IStreamSocketControl2; interface IStreamSocketControl3; interface IStreamSocketControl4; interface IStreamSocketInformation; interface IStreamSocketInformation2; interface IStreamSocketListener; interface IStreamSocketListener2; interface IStreamSocketListener3; interface IStreamSocketListenerConnectionReceivedEventArgs; interface IStreamSocketListenerControl; interface IStreamSocketListenerControl2; interface IStreamSocketListenerInformation; interface IStreamSocketStatics; interface IStreamWebSocket; interface IStreamWebSocket2; interface IStreamWebSocketControl; interface IStreamWebSocketControl2; interface IWebSocket; interface IWebSocketClosedEventArgs; interface IWebSocketControl; interface IWebSocketControl2; interface IWebSocketErrorStatics; interface IWebSocketInformation; interface IWebSocketInformation2; interface IWebSocketServerCustomValidationRequestedEventArgs; runtimeclass ControlChannelTrigger; runtimeclass DatagramSocket; runtimeclass DatagramSocketControl; runtimeclass DatagramSocketInformation; runtimeclass DatagramSocketMessageReceivedEventArgs; runtimeclass MessageWebSocket; runtimeclass MessageWebSocketControl; runtimeclass MessageWebSocketInformation; runtimeclass MessageWebSocketMessageReceivedEventArgs; runtimeclass ServerMessageWebSocket; runtimeclass ServerMessageWebSocketControl; runtimeclass ServerMessageWebSocketInformation; runtimeclass ServerStreamWebSocket; runtimeclass ServerStreamWebSocketInformation; runtimeclass SocketActivityContext; runtimeclass SocketActivityInformation; runtimeclass SocketActivityTriggerDetails; runtimeclass SocketError; runtimeclass StreamSocket; runtimeclass StreamSocketControl; runtimeclass StreamSocketInformation; runtimeclass StreamSocketListener; runtimeclass StreamSocketListenerConnectionReceivedEventArgs; runtimeclass StreamSocketListenerControl; runtimeclass StreamSocketListenerInformation; runtimeclass StreamWebSocket; runtimeclass StreamWebSocketControl; runtimeclass StreamWebSocketInformation; runtimeclass WebSocketClosedEventArgs; runtimeclass WebSocketError; runtimeclass WebSocketKeepAlive; runtimeclass WebSocketServerCustomValidationRequestedEventArgs; } } } // Generic instantiations namespace Windows { namespace Networking { namespace Sockets { declare { interface Windows.Foundation.Collections.IIterable*>; interface Windows.Foundation.Collections.IIterator*>; interface Windows.Foundation.Collections.IKeyValuePair; interface Windows.Foundation.Collections.IMapView; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; interface Windows.Foundation.TypedEventHandler; } } } } // Type definition namespace Windows { namespace Networking { namespace Sockets { [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] enum ControlChannelTriggerResetReason { FastUserSwitched = 0, LowPowerExit = 1, [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] QuietHoursExit = 2, [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] ApplicationRestart = 3 }; [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] enum ControlChannelTriggerResourceType { RequestSoftwareSlot = 0, RequestHardwareSlot = 1 }; [contract(Windows.Foundation.UniversalApiContract, 6.0)] [from_contract(Windows.Networking.Sockets.ControlChannelTriggerContract, range(1.0, 3.0))] enum ControlChannelTriggerStatus { HardwareSlotRequested = 0, SoftwareSlotAllocated = 1, HardwareSlotAllocated = 2, PolicyError = 3, SystemError = 4, TransportDisconnected = 5, ServiceUnavailable = 6 }; [contract(Windows.Foundation.UniversalApiContract, 5.0)] enum MessageWebSocketReceiveMode { FullMessage = 0, PartialMessage = 1 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SocketActivityConnectedStandbyAction { DoNotWake = 0, Wake = 1 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SocketActivityKind { None = 0, StreamSocketListener = 1, DatagramSocket = 2, StreamSocket = 3 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SocketActivityTriggerReason { None = 0, SocketActivity = 1, ConnectionAccepted = 2, KeepAliveTimerExpired = 3, SocketClosed = 4 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SocketErrorStatus { Unknown = 0, OperationAborted = 1, HttpInvalidServerResponse = 2, ConnectionTimedOut = 3, AddressFamilyNotSupported = 4, SocketTypeNotSupported = 5, HostNotFound = 6, NoDataRecordOfRequestedType = 7, NonAuthoritativeHostNotFound = 8, ClassTypeNotFound = 9, AddressAlreadyInUse = 10, CannotAssignRequestedAddress = 11, ConnectionRefused = 12, NetworkIsUnreachable = 13, UnreachableHost = 14, NetworkIsDown = 15, NetworkDroppedConnectionOnReset = 16, SoftwareCausedConnectionAbort = 17, ConnectionResetByPeer = 18, HostIsDown = 19, NoAddressesFound = 20, TooManyOpenFiles = 21, MessageTooLong = 22, CertificateExpired = 23, CertificateUntrustedRoot = 24, CertificateCommonNameIsIncorrect = 25, CertificateWrongUsage = 26, CertificateRevoked = 27, CertificateNoRevocationCheck = 28, CertificateRevocationServerOffline = 29, CertificateIsInvalid = 30 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SocketMessageType { Binary = 0, Utf8 = 1 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SocketProtectionLevel { PlainSocket = 0, [deprecated("Ssl may result in insecure connections and may be altered or unavailable for releases after Windows 8.1. Instead, use one of the TLS SocketProtectionLevel values.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] Ssl = 1, SslAllowNullEncryption = 2, [contract(Windows.Foundation.UniversalApiContract, 1.0)] BluetoothEncryptionAllowNullAuthentication = 3, [contract(Windows.Foundation.UniversalApiContract, 1.0)] BluetoothEncryptionWithAuthentication = 4, [contract(Windows.Foundation.UniversalApiContract, 1.0)] [deprecated("Ssl3AllowWeakEncryption may result in insecure connections and may be altered or unavailable for releases after Windows 8.1. Instead, use one of the TLS SocketProtectionLevel values.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] Ssl3AllowWeakEncryption = 5, [contract(Windows.Foundation.UniversalApiContract, 1.0)] Tls10 = 6, [contract(Windows.Foundation.UniversalApiContract, 1.0)] Tls11 = 7, [contract(Windows.Foundation.UniversalApiContract, 1.0)] Tls12 = 8, [contract(Windows.Foundation.UniversalApiContract, 5.0)] Unspecified = 9, [contract(Windows.Foundation.UniversalApiContract, 16.0)] Tls13 = 10 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SocketQualityOfService { Normal = 0, LowLatency = 1 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum SocketSslErrorSeverity { None = 0, Ignorable = 1, Fatal = 2 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] struct BandwidthStatistics { UINT64 OutboundBitsPerSecond; UINT64 InboundBitsPerSecond; UINT64 OutboundBitsPerSecondInstability; UINT64 InboundBitsPerSecondInstability; boolean OutboundBandwidthPeaked; boolean InboundBandwidthPeaked; }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] struct RoundTripTimeStatistics { UINT32 Variance; UINT32 Max; UINT32 Min; UINT32 Sum; }; [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.ControlChannelTrigger)] [uuid(7D1431A7-EE96-40E8-A199-8703CD969EC3)] interface IControlChannelTrigger : IInspectable requires Windows.Foundation.IClosable { [propget] HRESULT ControlChannelTriggerId([out] [retval] HSTRING* value); [propget] HRESULT ServerKeepAliveIntervalInMinutes([out] [retval] UINT32* value); [propput] HRESULT ServerKeepAliveIntervalInMinutes([in] UINT32 value); [propget] HRESULT CurrentKeepAliveIntervalInMinutes([out] [retval] UINT32* value); [propget] HRESULT TransportObject([out] [retval] IInspectable** value); [propget] HRESULT KeepAliveTrigger([out] [retval] Windows.ApplicationModel.Background.IBackgroundTrigger** trigger); [propget] HRESULT PushNotificationTrigger([out] [retval] Windows.ApplicationModel.Background.IBackgroundTrigger** trigger); HRESULT UsingTransport([in] IInspectable* transport); HRESULT WaitForPushEnabled([out] [retval] Windows.Networking.Sockets.ControlChannelTriggerStatus* channelTriggerStatus); HRESULT DecreaseNetworkKeepAliveInterval(); HRESULT FlushTransport(); } [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 2.0)] [exclusiveto(Windows.Networking.Sockets.ControlChannelTrigger)] [uuid(AF00D237-51BE-4514-9725-3556E1879580)] interface IControlChannelTrigger2 : IInspectable { [propget] HRESULT IsWakeFromLowPowerSupported([out] [retval] boolean* value); } [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] [uuid(1B36E047-89BB-4236-96AC-71D012BB4869)] interface IControlChannelTriggerEventDetails : IInspectable { [propget] HRESULT ControlChannelTrigger([out] [retval] Windows.Networking.Sockets.ControlChannelTrigger** value); } [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.ControlChannelTrigger)] [uuid(DA4B7CF0-8D71-446F-88C3-B95184A2D6CD)] interface IControlChannelTriggerFactory : IInspectable { HRESULT CreateControlChannelTrigger([in] HSTRING channelId, [in] UINT32 serverKeepAliveIntervalInMinutes, [out] [retval] Windows.Networking.Sockets.ControlChannelTrigger** notificationChannel); HRESULT CreateControlChannelTriggerEx([in] HSTRING channelId, [in] UINT32 serverKeepAliveIntervalInMinutes, [in] Windows.Networking.Sockets.ControlChannelTriggerResourceType resourceRequestType, [out] [retval] Windows.Networking.Sockets.ControlChannelTrigger** notificationChannel); } [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] [uuid(6851038E-8EC4-42FE-9BB2-21E91B7BFCB1)] interface IControlChannelTriggerResetEventDetails : IInspectable { [propget] HRESULT ResetReason([out] [retval] Windows.Networking.Sockets.ControlChannelTriggerResetReason* value); [propget] HRESULT HardwareSlotReset([out] [retval] boolean* value); [propget] HRESULT SoftwareSlotReset([out] [retval] boolean* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocket)] [uuid(7FE25BBB-C3BC-4677-8446-CA28A465A3AF)] interface IDatagramSocket : IInspectable requires Windows.Foundation.IClosable { [propget] HRESULT Control([out] [retval] Windows.Networking.Sockets.DatagramSocketControl** value); [propget] HRESULT Information([out] [retval] Windows.Networking.Sockets.DatagramSocketInformation** value); [propget] HRESULT OutputStream([out] [retval] Windows.Storage.Streams.IOutputStream** value); [overload("ConnectAsync")] HRESULT ConnectAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [out] [retval] Windows.Foundation.IAsyncAction** operation); [overload("ConnectAsync")] HRESULT ConnectWithEndpointPairAsync([in] Windows.Networking.EndpointPair* endpointPair, [out] [retval] Windows.Foundation.IAsyncAction** operation); HRESULT BindServiceNameAsync([in] HSTRING localServiceName, [out] [retval] Windows.Foundation.IAsyncAction** operation); HRESULT BindEndpointAsync([in] Windows.Networking.HostName* localHostName, [in] HSTRING localServiceName, [out] [retval] Windows.Foundation.IAsyncAction** operation); HRESULT JoinMulticastGroup([in] Windows.Networking.HostName* host); [overload("GetOutputStreamAsync")] HRESULT GetOutputStreamAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [out] [retval] Windows.Foundation.IAsyncOperation** value); [overload("GetOutputStreamAsync")] HRESULT GetOutputStreamWithEndpointPairAsync([in] Windows.Networking.EndpointPair* endpointPair, [out] [retval] Windows.Foundation.IAsyncOperation** value); [eventadd] HRESULT MessageReceived([in] Windows.Foundation.TypedEventHandler* eventHandler, [out] [retval] EventRegistrationToken* eventCookie); [eventremove] HRESULT MessageReceived([in] EventRegistrationToken eventCookie); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocket)] [uuid(D83BA354-9A9D-4185-A20A-1424C9C2A7CD)] interface IDatagramSocket2 : IInspectable requires Windows.Foundation.IClosable { [overload("BindServiceNameAsync")] HRESULT BindServiceNameAndAdapterAsync([in] HSTRING localServiceName, [in] Windows.Networking.Connectivity.NetworkAdapter* adapter, [out] [retval] Windows.Foundation.IAsyncAction** operation); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocket)] [uuid(37544F09-AB92-4306-9AC1-0C381283D9C6)] interface IDatagramSocket3 : IInspectable { HRESULT CancelIOAsync([out] [retval] Windows.Foundation.IAsyncAction** operation); [overload("EnableTransferOwnership")] HRESULT EnableTransferOwnership([in] GUID taskId); [overload("EnableTransferOwnership")] HRESULT EnableTransferOwnershipWithConnectedStandbyAction([in] GUID taskId, [in] Windows.Networking.Sockets.SocketActivityConnectedStandbyAction connectedStandbyAction); [overload("TransferOwnership")] HRESULT TransferOwnership([in] HSTRING socketId); [overload("TransferOwnership")] HRESULT TransferOwnershipWithContext([in] HSTRING socketId, [in] Windows.Networking.Sockets.SocketActivityContext* data); [overload("TransferOwnership")] HRESULT TransferOwnershipWithContextAndKeepAliveTime([in] HSTRING socketId, [in] Windows.Networking.Sockets.SocketActivityContext* data, [in] Windows.Foundation.TimeSpan keepAliveTime); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocketControl)] [uuid(52AC3F2E-349A-4135-BB58-B79B2647D390)] interface IDatagramSocketControl : IInspectable { [propget] HRESULT QualityOfService([out] [retval] Windows.Networking.Sockets.SocketQualityOfService* value); [propput] HRESULT QualityOfService([in] Windows.Networking.Sockets.SocketQualityOfService value); [propget] HRESULT OutboundUnicastHopLimit([out] [retval] BYTE* value); [propput] HRESULT OutboundUnicastHopLimit([in] BYTE value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocketControl)] [uuid(33EAD5C2-979C-4415-82A1-3CFAF646C192)] interface IDatagramSocketControl2 : IInspectable { [propget] HRESULT InboundBufferSizeInBytes([out] [retval] UINT32* value); [propput] HRESULT InboundBufferSizeInBytes([in] UINT32 value); [propget] HRESULT DontFragment([out] [retval] boolean* value); [propput] HRESULT DontFragment([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocketControl)] [uuid(D4EB8256-1F6D-4598-9B57-D42A001DF349)] interface IDatagramSocketControl3 : IInspectable { [propget] HRESULT MulticastOnly([out] [retval] boolean* value); [propput] HRESULT MulticastOnly([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocketInformation)] [uuid(5F1A569A-55FB-48CD-9706-7A974F7B1585)] interface IDatagramSocketInformation : IInspectable { [propget] HRESULT LocalAddress([out] [retval] Windows.Networking.HostName** value); [propget] HRESULT LocalPort([out] [retval] HSTRING* value); [propget] HRESULT RemoteAddress([out] [retval] Windows.Networking.HostName** value); [propget] HRESULT RemotePort([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocketMessageReceivedEventArgs)] [uuid(9E2DDCA2-1712-4CE4-B179-8C652C6D107E)] interface IDatagramSocketMessageReceivedEventArgs : IInspectable { [propget] HRESULT RemoteAddress([out] [retval] Windows.Networking.HostName** value); [propget] HRESULT RemotePort([out] [retval] HSTRING* value); [propget] HRESULT LocalAddress([out] [retval] Windows.Networking.HostName** value); HRESULT GetDataReader([out] [retval] Windows.Storage.Streams.DataReader** dataReader); HRESULT GetDataStream([out] [retval] Windows.Storage.Streams.IInputStream** inputStream); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.DatagramSocket)] [uuid(E9C62AEE-1494-4A21-BB7E-8589FC751D9D)] interface IDatagramSocketStatics : IInspectable { [overload("GetEndpointPairsAsync")] HRESULT GetEndpointPairsAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [out] [retval] Windows.Foundation.IAsyncOperation*>** operation); [overload("GetEndpointPairsAsync")] HRESULT GetEndpointPairsWithSortOptionsAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [in] Windows.Networking.HostNameSortOptions sortOptions, [out] [retval] Windows.Foundation.IAsyncOperation*>** operation); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.MessageWebSocket)] [uuid(33727D08-34D5-4746-AD7B-8DDE5BC2EF88)] interface IMessageWebSocket : IInspectable requires Windows.Networking.Sockets.IWebSocket, Windows.Foundation.IClosable { [propget] HRESULT Control([out] [retval] Windows.Networking.Sockets.MessageWebSocketControl** value); [propget] HRESULT Information([out] [retval] Windows.Networking.Sockets.MessageWebSocketInformation** value); [eventadd] HRESULT MessageReceived([in] Windows.Foundation.TypedEventHandler* eventHandler, [out] [retval] EventRegistrationToken* eventCookie); [eventremove] HRESULT MessageReceived([in] EventRegistrationToken eventCookie); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Networking.Sockets.MessageWebSocket)] [uuid(BED0CEE7-F9C8-440A-9AD5-737281D9742E)] interface IMessageWebSocket2 : IInspectable requires Windows.Networking.Sockets.IMessageWebSocket, Windows.Networking.Sockets.IWebSocket, Windows.Foundation.IClosable { [eventadd] HRESULT ServerCustomValidationRequested([in] Windows.Foundation.TypedEventHandler* eventHandler, [out] [retval] EventRegistrationToken* eventCookie); [eventremove] HRESULT ServerCustomValidationRequested([in] EventRegistrationToken eventCookie); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Networking.Sockets.MessageWebSocket)] [uuid(59D9DEFB-71AF-4349-8487-911FCF681597)] interface IMessageWebSocket3 : IInspectable { HRESULT SendNonfinalFrameAsync([in] Windows.Storage.Streams.IBuffer* data, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress** operation); HRESULT SendFinalFrameAsync([in] Windows.Storage.Streams.IBuffer* data, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress** operation); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.MessageWebSocketControl)] [uuid(8118388A-C629-4F0A-80FB-81FC05538862)] interface IMessageWebSocketControl : IInspectable requires Windows.Networking.Sockets.IWebSocketControl { [propget] HRESULT MaxMessageSize([out] [retval] UINT32* value); [propput] HRESULT MaxMessageSize([in] UINT32 value); [propget] HRESULT MessageType([out] [retval] Windows.Networking.Sockets.SocketMessageType* value); [propput] HRESULT MessageType([in] Windows.Networking.Sockets.SocketMessageType value); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Networking.Sockets.MessageWebSocketControl)] [uuid(E30FD791-080C-400A-A712-27DFA9E744D8)] interface IMessageWebSocketControl2 : IInspectable { [propget] HRESULT DesiredUnsolicitedPongInterval([out] [retval] Windows.Foundation.TimeSpan* value); [propput] HRESULT DesiredUnsolicitedPongInterval([in] Windows.Foundation.TimeSpan value); [propget] HRESULT ActualUnsolicitedPongInterval([out] [retval] Windows.Foundation.TimeSpan* value); [propget] HRESULT ReceiveMode([out] [retval] Windows.Networking.Sockets.MessageWebSocketReceiveMode* value); [propput] HRESULT ReceiveMode([in] Windows.Networking.Sockets.MessageWebSocketReceiveMode value); [propget] HRESULT ClientCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propput] HRESULT ClientCertificate([in] Windows.Security.Cryptography.Certificates.Certificate* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.MessageWebSocketMessageReceivedEventArgs)] [uuid(478C22AC-4C4B-42ED-9ED7-1EF9F94FA3D5)] interface IMessageWebSocketMessageReceivedEventArgs : IInspectable { [propget] HRESULT MessageType([out] [retval] Windows.Networking.Sockets.SocketMessageType* value); HRESULT GetDataReader([out] [retval] Windows.Storage.Streams.DataReader** dataReader); HRESULT GetDataStream([out] [retval] Windows.Storage.Streams.IInputStream** inputStream); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Networking.Sockets.MessageWebSocketMessageReceivedEventArgs)] [uuid(89CE06FD-DD6F-4A07-87F9-F9EB4D89D83D)] interface IMessageWebSocketMessageReceivedEventArgs2 : IInspectable requires Windows.Networking.Sockets.IMessageWebSocketMessageReceivedEventArgs { [propget] HRESULT IsMessageComplete([out] [retval] boolean* value); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Networking.Sockets.ServerMessageWebSocket)] [uuid(E3AC9240-813B-5EFD-7E11-AE2305FC77F1)] interface IServerMessageWebSocket : IInspectable requires Windows.Foundation.IClosable { [eventadd] HRESULT MessageReceived([in] Windows.Foundation.TypedEventHandler* value, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT MessageReceived([in] EventRegistrationToken token); [propget] HRESULT Control([out] [retval] Windows.Networking.Sockets.ServerMessageWebSocketControl** value); [propget] HRESULT Information([out] [retval] Windows.Networking.Sockets.ServerMessageWebSocketInformation** value); [propget] HRESULT OutputStream([out] [retval] Windows.Storage.Streams.IOutputStream** value); [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler* value, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT Closed([in] EventRegistrationToken token); [overload("Close")] HRESULT CloseWithStatus([in] UINT16 code, [in] HSTRING reason); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Networking.Sockets.ServerMessageWebSocketControl)] [uuid(69C2F051-1C1F-587A-4519-2181610192B7)] interface IServerMessageWebSocketControl : IInspectable { [propget] HRESULT MessageType([out] [retval] Windows.Networking.Sockets.SocketMessageType* value); [propput] HRESULT MessageType([in] Windows.Networking.Sockets.SocketMessageType value); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Networking.Sockets.ServerMessageWebSocketInformation)] [uuid(FC32B45F-4448-5505-6CC9-09AFA8915F5D)] interface IServerMessageWebSocketInformation : IInspectable { [propget] HRESULT BandwidthStatistics([out] [retval] Windows.Networking.Sockets.BandwidthStatistics* value); [propget] HRESULT Protocol([out] [retval] HSTRING* value); [propget] HRESULT LocalAddress([out] [retval] Windows.Networking.HostName** value); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Networking.Sockets.ServerStreamWebSocket)] [uuid(2CED5BBF-74F6-55E4-79DF-9132680DFEE8)] interface IServerStreamWebSocket : IInspectable requires Windows.Foundation.IClosable { [propget] HRESULT Information([out] [retval] Windows.Networking.Sockets.ServerStreamWebSocketInformation** value); [propget] HRESULT InputStream([out] [retval] Windows.Storage.Streams.IInputStream** value); [propget] HRESULT OutputStream([out] [retval] Windows.Storage.Streams.IOutputStream** value); [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler* value, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT Closed([in] EventRegistrationToken token); [overload("Close")] HRESULT CloseWithStatus([in] UINT16 code, [in] HSTRING reason); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Networking.Sockets.ServerStreamWebSocketInformation)] [uuid(FC32B45F-4448-5505-6CC9-09ABA8915F5D)] interface IServerStreamWebSocketInformation : IInspectable { [propget] HRESULT BandwidthStatistics([out] [retval] Windows.Networking.Sockets.BandwidthStatistics* value); [propget] HRESULT Protocol([out] [retval] HSTRING* value); [propget] HRESULT LocalAddress([out] [retval] Windows.Networking.HostName** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.SocketActivityContext)] [uuid(43B04D64-4C85-4396-A637-1D973F6EBD49)] interface ISocketActivityContext : IInspectable { [propget] HRESULT Data([out] [retval] Windows.Storage.Streams.IBuffer** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.SocketActivityContext)] [uuid(B99FC3C3-088C-4388-83AE-2525138E049A)] interface ISocketActivityContextFactory : IInspectable { HRESULT Create([in] Windows.Storage.Streams.IBuffer* data, [out] [retval] Windows.Networking.Sockets.SocketActivityContext** context); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.SocketActivityInformation)] [uuid(8D8A42E4-A87E-4B74-9968-185B2511DEFE)] interface ISocketActivityInformation : IInspectable { [propget] HRESULT TaskId([out] [retval] GUID* value); [propget] HRESULT Id([out] [retval] HSTRING* value); [propget] HRESULT SocketKind([out] [retval] Windows.Networking.Sockets.SocketActivityKind* value); [propget] HRESULT Context([out] [retval] Windows.Networking.Sockets.SocketActivityContext** value); [propget] HRESULT DatagramSocket([out] [retval] Windows.Networking.Sockets.DatagramSocket** value); [propget] HRESULT StreamSocket([out] [retval] Windows.Networking.Sockets.StreamSocket** value); [propget] HRESULT StreamSocketListener([out] [retval] Windows.Networking.Sockets.StreamSocketListener** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.SocketActivityInformation)] [uuid(8570B47A-7E7D-4736-8041-1327A6543C56)] interface ISocketActivityInformationStatics : IInspectable { [propget] HRESULT AllSockets([out] [retval] Windows.Foundation.Collections.IMapView** sockets); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.SocketActivityTriggerDetails)] [uuid(45F406A7-FC9F-4F81-ACAD-355FEF51E67B)] interface ISocketActivityTriggerDetails : IInspectable { [propget] HRESULT Reason([out] [retval] Windows.Networking.Sockets.SocketActivityTriggerReason* value); [propget] HRESULT SocketInformation([out] [retval] Windows.Networking.Sockets.SocketActivityInformation** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.SocketError)] [uuid(828337F4-7D56-4D8E-B7B4-A07DD7C1BCA9)] interface ISocketErrorStatics : IInspectable { HRESULT GetStatus([in] INT32 hresult, [out] [retval] Windows.Networking.Sockets.SocketErrorStatus* status); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocket)] [uuid(69A22CF3-FC7B-4857-AF38-F6E7DE6A5B49)] interface IStreamSocket : IInspectable requires Windows.Foundation.IClosable { [propget] HRESULT Control([out] [retval] Windows.Networking.Sockets.StreamSocketControl** value); [propget] HRESULT Information([out] [retval] Windows.Networking.Sockets.StreamSocketInformation** value); [propget] HRESULT InputStream([out] [retval] Windows.Storage.Streams.IInputStream** value); [propget] HRESULT OutputStream([out] [retval] Windows.Storage.Streams.IOutputStream** value); [overload("ConnectAsync")] HRESULT ConnectWithEndpointPairAsync([in] Windows.Networking.EndpointPair* endpointPair, [out] [retval] Windows.Foundation.IAsyncAction** operation); [default_overload] [overload("ConnectAsync")] HRESULT ConnectAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [out] [retval] Windows.Foundation.IAsyncAction** operation); [overload("ConnectAsync")] HRESULT ConnectWithEndpointPairAndProtectionLevelAsync([in] Windows.Networking.EndpointPair* endpointPair, [in] Windows.Networking.Sockets.SocketProtectionLevel protectionLevel, [out] [retval] Windows.Foundation.IAsyncAction** operation); [overload("ConnectAsync")] HRESULT ConnectWithProtectionLevelAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [in] Windows.Networking.Sockets.SocketProtectionLevel protectionLevel, [out] [retval] Windows.Foundation.IAsyncAction** operation); HRESULT UpgradeToSslAsync([in] Windows.Networking.Sockets.SocketProtectionLevel protectionLevel, [in] Windows.Networking.HostName* validationHostName, [out] [retval] Windows.Foundation.IAsyncAction** operation); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocket)] [uuid(29D0E575-F314-4D09-ADF0-0FBD967FBD9F)] interface IStreamSocket2 : IInspectable requires Windows.Foundation.IClosable { [overload("ConnectAsync")] HRESULT ConnectWithProtectionLevelAndAdapterAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [in] Windows.Networking.Sockets.SocketProtectionLevel protectionLevel, [in] Windows.Networking.Connectivity.NetworkAdapter* adapter, [out] [retval] Windows.Foundation.IAsyncAction** operation); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocket)] [uuid(3F430B00-9D28-4854-BAC3-2301941EC223)] interface IStreamSocket3 : IInspectable { HRESULT CancelIOAsync([out] [retval] Windows.Foundation.IAsyncAction** operation); [overload("EnableTransferOwnership")] HRESULT EnableTransferOwnership([in] GUID taskId); [overload("EnableTransferOwnership")] HRESULT EnableTransferOwnershipWithConnectedStandbyAction([in] GUID taskId, [in] Windows.Networking.Sockets.SocketActivityConnectedStandbyAction connectedStandbyAction); [overload("TransferOwnership")] HRESULT TransferOwnership([in] HSTRING socketId); [overload("TransferOwnership")] HRESULT TransferOwnershipWithContext([in] HSTRING socketId, [in] Windows.Networking.Sockets.SocketActivityContext* data); [overload("TransferOwnership")] HRESULT TransferOwnershipWithContextAndKeepAliveTime([in] HSTRING socketId, [in] Windows.Networking.Sockets.SocketActivityContext* data, [in] Windows.Foundation.TimeSpan keepAliveTime); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketControl)] [uuid(FE25ADF1-92AB-4AF3-9992-0F4C85E36CC4)] interface IStreamSocketControl : IInspectable { [propget] HRESULT NoDelay([out] [retval] boolean* value); [propput] HRESULT NoDelay([in] boolean value); [propget] HRESULT KeepAlive([out] [retval] boolean* value); [propput] HRESULT KeepAlive([in] boolean value); [propget] HRESULT OutboundBufferSizeInBytes([out] [retval] UINT32* value); [propput] HRESULT OutboundBufferSizeInBytes([in] UINT32 value); [propget] HRESULT QualityOfService([out] [retval] Windows.Networking.Sockets.SocketQualityOfService* value); [propput] HRESULT QualityOfService([in] Windows.Networking.Sockets.SocketQualityOfService value); [propget] HRESULT OutboundUnicastHopLimit([out] [retval] BYTE* value); [propput] HRESULT OutboundUnicastHopLimit([in] BYTE value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketControl)] [uuid(C2D09A56-060F-44C1-B8E2-1FBF60BD62C5)] interface IStreamSocketControl2 : IInspectable { [propget] HRESULT IgnorableServerCertificateErrors([out] [retval] Windows.Foundation.Collections.IVector** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketControl)] [uuid(C56A444C-4E74-403E-894C-B31CAE5C7342)] interface IStreamSocketControl3 : IInspectable { [propget] HRESULT SerializeConnectionAttempts([out] [retval] boolean* value); [propput] HRESULT SerializeConnectionAttempts([in] boolean value); [propget] HRESULT ClientCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propput] HRESULT ClientCertificate([in] Windows.Security.Cryptography.Certificates.Certificate* value); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketControl)] [uuid(964E2B3D-EC27-4888-B3CE-C74B418423AD)] interface IStreamSocketControl4 : IInspectable { [propget] HRESULT MinProtectionLevel([out] [retval] Windows.Networking.Sockets.SocketProtectionLevel* value); [propput] HRESULT MinProtectionLevel([in] Windows.Networking.Sockets.SocketProtectionLevel value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketInformation)] [uuid(3B80AE30-5E68-4205-88F0-DC85D2E25DED)] interface IStreamSocketInformation : IInspectable { [propget] HRESULT LocalAddress([out] [retval] Windows.Networking.HostName** value); [propget] HRESULT LocalPort([out] [retval] HSTRING* value); [propget] HRESULT RemoteHostName([out] [retval] Windows.Networking.HostName** value); [propget] HRESULT RemoteAddress([out] [retval] Windows.Networking.HostName** value); [propget] HRESULT RemoteServiceName([out] [retval] HSTRING* value); [propget] HRESULT RemotePort([out] [retval] HSTRING* value); [propget] HRESULT RoundTripTimeStatistics([out] [retval] Windows.Networking.Sockets.RoundTripTimeStatistics* value); [propget] HRESULT BandwidthStatistics([out] [retval] Windows.Networking.Sockets.BandwidthStatistics* value); [propget] HRESULT ProtectionLevel([out] [retval] Windows.Networking.Sockets.SocketProtectionLevel* value); [propget] HRESULT SessionKey([out] [retval] Windows.Storage.Streams.IBuffer** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketInformation)] [uuid(12C28452-4BDC-4EE4-976A-CF130E9D92E3)] interface IStreamSocketInformation2 : IInspectable { [propget] HRESULT ServerCertificateErrorSeverity([out] [retval] Windows.Networking.Sockets.SocketSslErrorSeverity* value); [propget] HRESULT ServerCertificateErrors([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT ServerCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propget] HRESULT ServerIntermediateCertificates([out] [retval] Windows.Foundation.Collections.IVectorView** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketListener)] [uuid(FF513437-DF9F-4DF0-BF82-0EC5D7B35AAE)] interface IStreamSocketListener : IInspectable requires Windows.Foundation.IClosable { [propget] HRESULT Control([out] [retval] Windows.Networking.Sockets.StreamSocketListenerControl** value); [propget] HRESULT Information([out] [retval] Windows.Networking.Sockets.StreamSocketListenerInformation** value); HRESULT BindServiceNameAsync([in] HSTRING localServiceName, [out] [retval] Windows.Foundation.IAsyncAction** operation); HRESULT BindEndpointAsync([in] Windows.Networking.HostName* localHostName, [in] HSTRING localServiceName, [out] [retval] Windows.Foundation.IAsyncAction** operation); [eventadd] HRESULT ConnectionReceived([in] Windows.Foundation.TypedEventHandler* eventHandler, [out] [retval] EventRegistrationToken* eventCookie); [eventremove] HRESULT ConnectionReceived([in] EventRegistrationToken eventCookie); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketListener)] [uuid(658DC13E-BB3E-4458-B232-ED1088694B98)] interface IStreamSocketListener2 : IInspectable requires Windows.Foundation.IClosable { [overload("BindServiceNameAsync")] HRESULT BindServiceNameWithProtectionLevelAsync([in] HSTRING localServiceName, [in] Windows.Networking.Sockets.SocketProtectionLevel protectionLevel, [out] [retval] Windows.Foundation.IAsyncAction** operation); [overload("BindServiceNameAsync")] HRESULT BindServiceNameWithProtectionLevelAndAdapterAsync([in] HSTRING localServiceName, [in] Windows.Networking.Sockets.SocketProtectionLevel protectionLevel, [in] Windows.Networking.Connectivity.NetworkAdapter* adapter, [out] [retval] Windows.Foundation.IAsyncAction** operation); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketListener)] [uuid(4798201C-BDF8-4919-8542-28D450E74507)] interface IStreamSocketListener3 : IInspectable { HRESULT CancelIOAsync([out] [retval] Windows.Foundation.IAsyncAction** operation); [overload("EnableTransferOwnership")] HRESULT EnableTransferOwnership([in] GUID taskId); [overload("EnableTransferOwnership")] HRESULT EnableTransferOwnershipWithConnectedStandbyAction([in] GUID taskId, [in] Windows.Networking.Sockets.SocketActivityConnectedStandbyAction connectedStandbyAction); [overload("TransferOwnership")] HRESULT TransferOwnership([in] HSTRING socketId); [overload("TransferOwnership")] HRESULT TransferOwnershipWithContext([in] HSTRING socketId, [in] Windows.Networking.Sockets.SocketActivityContext* data); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketListenerConnectionReceivedEventArgs)] [uuid(0C472EA9-373F-447B-85B1-DDD4548803BA)] interface IStreamSocketListenerConnectionReceivedEventArgs : IInspectable { [propget] HRESULT Socket([out] [retval] Windows.Networking.Sockets.StreamSocket** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketListenerControl)] [uuid(20D8C576-8D8A-4DBA-9722-A16C4D984980)] interface IStreamSocketListenerControl : IInspectable { [propget] HRESULT QualityOfService([out] [retval] Windows.Networking.Sockets.SocketQualityOfService* value); [propput] HRESULT QualityOfService([in] Windows.Networking.Sockets.SocketQualityOfService value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketListenerControl)] [uuid(948BB665-2C3E-404B-B8B0-8EB249A2B0A1)] interface IStreamSocketListenerControl2 : IInspectable { [propget] HRESULT NoDelay([out] [retval] boolean* value); [propput] HRESULT NoDelay([in] boolean value); [propget] HRESULT KeepAlive([out] [retval] boolean* value); [propput] HRESULT KeepAlive([in] boolean value); [propget] HRESULT OutboundBufferSizeInBytes([out] [retval] UINT32* value); [propput] HRESULT OutboundBufferSizeInBytes([in] UINT32 value); [propget] HRESULT OutboundUnicastHopLimit([out] [retval] BYTE* value); [propput] HRESULT OutboundUnicastHopLimit([in] BYTE value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocketListenerInformation)] [uuid(E62BA82F-A63A-430B-BF62-29E93E5633B4)] interface IStreamSocketListenerInformation : IInspectable { [propget] HRESULT LocalPort([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Networking.Sockets.StreamSocket)] [uuid(A420BC4A-6E2E-4AF5-B556-355AE0CD4F29)] interface IStreamSocketStatics : IInspectable { [overload("GetEndpointPairsAsync")] HRESULT GetEndpointPairsAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [out] [retval] Windows.Foundation.IAsyncOperation*>** operation); [overload("GetEndpointPairsAsync")] HRESULT GetEndpointPairsWithSortOptionsAsync([in] Windows.Networking.HostName* remoteHostName, [in] HSTRING remoteServiceName, [in] Windows.Networking.HostNameSortOptions sortOptions, [out] [retval] Windows.Foundation.IAsyncOperation*>** operation); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamWebSocket)] [uuid(BD4A49D8-B289-45BB-97EB-C7525205A843)] interface IStreamWebSocket : IInspectable requires Windows.Networking.Sockets.IWebSocket, Windows.Foundation.IClosable { [propget] HRESULT Control([out] [retval] Windows.Networking.Sockets.StreamWebSocketControl** value); [propget] HRESULT Information([out] [retval] Windows.Networking.Sockets.StreamWebSocketInformation** value); [propget] HRESULT InputStream([out] [retval] Windows.Storage.Streams.IInputStream** value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Networking.Sockets.StreamWebSocket)] [uuid(AA4D08CB-93F5-4678-8236-57CCE5417ED5)] interface IStreamWebSocket2 : IInspectable requires Windows.Networking.Sockets.IStreamWebSocket, Windows.Networking.Sockets.IWebSocket, Windows.Foundation.IClosable { [eventadd] HRESULT ServerCustomValidationRequested([in] Windows.Foundation.TypedEventHandler* eventHandler, [out] [retval] EventRegistrationToken* eventCookie); [eventremove] HRESULT ServerCustomValidationRequested([in] EventRegistrationToken eventCookie); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.StreamWebSocketControl)] [uuid(B4F478B1-A45A-48DB-953A-645B7D964C07)] interface IStreamWebSocketControl : IInspectable requires Windows.Networking.Sockets.IWebSocketControl { [propget] HRESULT NoDelay([out] [retval] boolean* value); [propput] HRESULT NoDelay([in] boolean value); } [contract(Windows.Foundation.UniversalApiContract, 5.0)] [exclusiveto(Windows.Networking.Sockets.StreamWebSocketControl)] [uuid(215D9F7E-FA58-40DA-9F11-A48DAFE95037)] interface IStreamWebSocketControl2 : IInspectable { [propget] HRESULT DesiredUnsolicitedPongInterval([out] [retval] Windows.Foundation.TimeSpan* value); [propput] HRESULT DesiredUnsolicitedPongInterval([in] Windows.Foundation.TimeSpan value); [propget] HRESULT ActualUnsolicitedPongInterval([out] [retval] Windows.Foundation.TimeSpan* value); [propget] HRESULT ClientCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propput] HRESULT ClientCertificate([in] Windows.Security.Cryptography.Certificates.Certificate* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(F877396F-99B1-4E18-BC08-850C9ADF156E)] interface IWebSocket : IInspectable requires Windows.Foundation.IClosable { [propget] HRESULT OutputStream([out] [retval] Windows.Storage.Streams.IOutputStream** value); HRESULT ConnectAsync([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Foundation.IAsyncAction** operation); HRESULT SetRequestHeader([in] HSTRING headerName, [in] HSTRING headerValue); [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler* eventHandler, [out] [retval] EventRegistrationToken* eventCookie); [eventremove] HRESULT Closed([in] EventRegistrationToken eventCookie); [overload("Close")] HRESULT CloseWithStatus([in] UINT16 code, [in] HSTRING reason); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.WebSocketClosedEventArgs)] [uuid(CEB78D07-D0A8-4703-A091-C8C2C0915BC3)] interface IWebSocketClosedEventArgs : IInspectable { [propget] HRESULT Code([out] [retval] UINT16* value); [propget] HRESULT Reason([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(2EC4BDC3-D9A5-455A-9811-DE24D45337E9)] interface IWebSocketControl : IInspectable { [propget] HRESULT OutboundBufferSizeInBytes([out] [retval] UINT32* value); [propput] HRESULT OutboundBufferSizeInBytes([in] UINT32 value); [propget] HRESULT ServerCredential([out] [retval] Windows.Security.Credentials.PasswordCredential** value); [propput] HRESULT ServerCredential([in] Windows.Security.Credentials.PasswordCredential* value); [propget] HRESULT ProxyCredential([out] [retval] Windows.Security.Credentials.PasswordCredential** value); [propput] HRESULT ProxyCredential([in] Windows.Security.Credentials.PasswordCredential* value); [propget] HRESULT SupportedProtocols([out] [retval] Windows.Foundation.Collections.IVector** value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [uuid(79C3BE03-F2CA-461E-AF4E-9665BC2D0620)] interface IWebSocketControl2 : IInspectable requires Windows.Networking.Sockets.IWebSocketControl { [propget] HRESULT IgnorableServerCertificateErrors([out] [retval] Windows.Foundation.Collections.IVector** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Networking.Sockets.WebSocketError)] [uuid(27CDF35B-1F61-4709-8E02-61283ADA4E9D)] interface IWebSocketErrorStatics : IInspectable { HRESULT GetStatus([in] INT32 hresult, [out] [retval] Windows.Web.WebErrorStatus* status); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(5E01E316-C92A-47A5-B25F-07847639D181)] interface IWebSocketInformation : IInspectable { [propget] HRESULT LocalAddress([out] [retval] Windows.Networking.HostName** value); [propget] HRESULT BandwidthStatistics([out] [retval] Windows.Networking.Sockets.BandwidthStatistics* value); [propget] HRESULT Protocol([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [uuid(CE1D39CE-A1B7-4D43-8269-8D5B981BD47A)] interface IWebSocketInformation2 : IInspectable requires Windows.Networking.Sockets.IWebSocketInformation { [propget] HRESULT ServerCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propget] HRESULT ServerCertificateErrorSeverity([out] [retval] Windows.Networking.Sockets.SocketSslErrorSeverity* value); [propget] HRESULT ServerCertificateErrors([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT ServerIntermediateCertificates([out] [retval] Windows.Foundation.Collections.IVectorView** value); } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [exclusiveto(Windows.Networking.Sockets.WebSocketServerCustomValidationRequestedEventArgs)] [uuid(FFEFFE48-022A-4AB7-8B36-E10AF4640E6B)] interface IWebSocketServerCustomValidationRequestedEventArgs : IInspectable { [propget] HRESULT ServerCertificate([out] [retval] Windows.Security.Cryptography.Certificates.Certificate** value); [propget] HRESULT ServerCertificateErrorSeverity([out] [retval] Windows.Networking.Sockets.SocketSslErrorSeverity* value); [propget] HRESULT ServerCertificateErrors([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT ServerIntermediateCertificates([out] [retval] Windows.Foundation.Collections.IVectorView** value); HRESULT Reject(); HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** result); } [activatable(Windows.Networking.Sockets.IControlChannelTriggerFactory, Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 1.0)] [marshaling_behavior(agile)] [threading(mta)] runtimeclass ControlChannelTrigger { [default] interface Windows.Networking.Sockets.IControlChannelTrigger; interface Windows.Foundation.IClosable; [contract(Windows.Networking.Sockets.ControlChannelTriggerContract, 2.0)] interface Windows.Networking.Sockets.IControlChannelTrigger2; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Networking.Sockets.IDatagramSocketStatics, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass DatagramSocket { [default] interface Windows.Networking.Sockets.IDatagramSocket; interface Windows.Foundation.IClosable; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IDatagramSocket2; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IDatagramSocket3; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass DatagramSocketControl { [default] interface Windows.Networking.Sockets.IDatagramSocketControl; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IDatagramSocketControl2; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IDatagramSocketControl3; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass DatagramSocketInformation { [default] interface Windows.Networking.Sockets.IDatagramSocketInformation; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass DatagramSocketMessageReceivedEventArgs { [default] interface Windows.Networking.Sockets.IDatagramSocketMessageReceivedEventArgs; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass MessageWebSocket { [default] interface Windows.Networking.Sockets.IMessageWebSocket; interface Windows.Networking.Sockets.IWebSocket; interface Windows.Foundation.IClosable; [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Networking.Sockets.IMessageWebSocket2; [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Networking.Sockets.IMessageWebSocket3; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass MessageWebSocketControl { [default] interface Windows.Networking.Sockets.IMessageWebSocketControl; interface Windows.Networking.Sockets.IWebSocketControl; [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Networking.Sockets.IWebSocketControl2; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Networking.Sockets.IMessageWebSocketControl2; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass MessageWebSocketInformation { [default] interface Windows.Networking.Sockets.IWebSocketInformation; [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Networking.Sockets.IWebSocketInformation2; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass MessageWebSocketMessageReceivedEventArgs { [default] interface Windows.Networking.Sockets.IMessageWebSocketMessageReceivedEventArgs; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Networking.Sockets.IMessageWebSocketMessageReceivedEventArgs2; } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ServerMessageWebSocket { [default] interface Windows.Networking.Sockets.IServerMessageWebSocket; interface Windows.Foundation.IClosable; } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ServerMessageWebSocketControl { [default] interface Windows.Networking.Sockets.IServerMessageWebSocketControl; } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ServerMessageWebSocketInformation { [default] interface Windows.Networking.Sockets.IServerMessageWebSocketInformation; } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ServerStreamWebSocket { [default] interface Windows.Networking.Sockets.IServerStreamWebSocket; interface Windows.Foundation.IClosable; } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass ServerStreamWebSocketInformation { [default] interface Windows.Networking.Sockets.IServerStreamWebSocketInformation; } [activatable(Windows.Networking.Sockets.ISocketActivityContextFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass SocketActivityContext { [default] interface Windows.Networking.Sockets.ISocketActivityContext; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Networking.Sockets.ISocketActivityInformationStatics, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass SocketActivityInformation { [default] interface Windows.Networking.Sockets.ISocketActivityInformation; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass SocketActivityTriggerDetails { [default] interface Windows.Networking.Sockets.ISocketActivityTriggerDetails; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Networking.Sockets.ISocketErrorStatics, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass SocketError { } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Networking.Sockets.IStreamSocketStatics, Windows.Foundation.UniversalApiContract, 3.0)] [threading(both)] runtimeclass StreamSocket { [default] interface Windows.Networking.Sockets.IStreamSocket; interface Windows.Foundation.IClosable; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IStreamSocket2; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IStreamSocket3; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass StreamSocketControl { [default] interface Windows.Networking.Sockets.IStreamSocketControl; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IStreamSocketControl2; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IStreamSocketControl3; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Networking.Sockets.IStreamSocketControl4; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass StreamSocketInformation { [default] interface Windows.Networking.Sockets.IStreamSocketInformation; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IStreamSocketInformation2; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass StreamSocketListener { [default] interface Windows.Networking.Sockets.IStreamSocketListener; interface Windows.Foundation.IClosable; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IStreamSocketListener2; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IStreamSocketListener3; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass StreamSocketListenerConnectionReceivedEventArgs { [default] interface Windows.Networking.Sockets.IStreamSocketListenerConnectionReceivedEventArgs; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass StreamSocketListenerControl { [default] interface Windows.Networking.Sockets.IStreamSocketListenerControl; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Networking.Sockets.IStreamSocketListenerControl2; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass StreamSocketListenerInformation { [default] interface Windows.Networking.Sockets.IStreamSocketListenerInformation; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass StreamWebSocket { [default] interface Windows.Networking.Sockets.IStreamWebSocket; interface Windows.Networking.Sockets.IWebSocket; interface Windows.Foundation.IClosable; [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Networking.Sockets.IStreamWebSocket2; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass StreamWebSocketControl { [default] interface Windows.Networking.Sockets.IStreamWebSocketControl; interface Windows.Networking.Sockets.IWebSocketControl; [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Networking.Sockets.IWebSocketControl2; [contract(Windows.Foundation.UniversalApiContract, 5.0)] interface Windows.Networking.Sockets.IStreamWebSocketControl2; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass StreamWebSocketInformation { [default] interface Windows.Networking.Sockets.IWebSocketInformation; [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Networking.Sockets.IWebSocketInformation2; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass WebSocketClosedEventArgs { [default] interface Windows.Networking.Sockets.IWebSocketClosedEventArgs; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Networking.Sockets.IWebSocketErrorStatics, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass WebSocketError { } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass WebSocketKeepAlive { [default] interface Windows.ApplicationModel.Background.IBackgroundTask; } [contract(Windows.Foundation.UniversalApiContract, 3.0)] [marshaling_behavior(agile)] runtimeclass WebSocketServerCustomValidationRequestedEventArgs { [default] interface Windows.Networking.Sockets.IWebSocketServerCustomValidationRequestedEventArgs; } } } }