Silverlight 5 WinRT

  public sealed class AcceptOperation
  : __ComObject, IAsyncOperation`1<StreamSocket>, IAsyncInfo
  public virtual AsyncOperationCompletedHandler`1<StreamSocket> Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual StreamSocket GetResults();
  public virtual void Start();

  public sealed struct BandwidthStatistics
  : ValueType

  public sealed class DatagramSocket
  : __ComObject, IDatagramSocket
  public virtual DatagramSocketInformation Information { get; }
  public virtual IOutputStream OutputStream { get; }
  public virtual SocketQualityOfService QualityOfService { get; set; }
  public virtual event DatagramSocketMessageReceivedEventHandler MessageReceived;
  public virtual DatagramSocketBindOperation BindServiceNameAsync();
  public virtual void Close();
  public virtual DatagramSocketConnectOperation ConnectAsync(HostName remoteHostName, String remoteServiceName);
  public virtual IOutputStream GetOutputStream(HostName remoteHostName, String remoteServiceName);
  public virtual void JoinMulticastGroup(HostName host);

  public sealed class DatagramSocketBindOperation
  : __ComObject, IAsyncAction, IAsyncInfo
  public virtual AsyncActionCompletedHandler Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual void GetResults();
  public virtual void Start();

  public sealed class DatagramSocketConnectOperation
  : __ComObject, IAsyncAction, IAsyncInfo
  public virtual AsyncActionCompletedHandler Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual void GetResults();
  public virtual void Start();

  public sealed class DatagramSocketInformation
  : __ComObject, IDatagramSocketInformation
  public virtual HostName LocalHostName { get; set; }
  public virtual String LocalServiceName { get; set; }
  public virtual HostName RemoteHostName { get; }
  public virtual String RemoteServiceName { get; }

  public sealed class DatagramSocketMessageReceivedEventArgs
  : __ComObject, IDatagramSocketMessageReceivedEventArgs
  public virtual HostName LocalHostName { get; }
  public virtual HostName RemoteHostName { get; }
  public virtual String RemoteServiceName { get; }
  public virtual DataReader GetDataReader();
  public virtual IInputStream GetDataStream();

  public sealed class DatagramSocketMessageReceivedEventHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual void Invoke(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs e);

  public abstract interface INotificationChannel
 
  public abstract virtual String KeepAliveTaskActivationClassId { get; }
  public abstract virtual String NotificationChannelId { get; }
  public abstract virtual String PushNotificationProcessingTaskActivationClassId { get; }
  public abstract virtual UInt32 ServerKeepAliveIntervalInMinutes { get; set; }
  public abstract virtual void DecreaseNetworkKeepAliveInterval();
  public abstract virtual NotificationChannelStatus UsingTransport(Object Transport);

  public abstract interface INotificationChannelEventDetails
 
  public abstract virtual String NotificationChannelId { get; }

  public abstract interface INotificationChannelFactory
 
  public abstract virtual NotificationChannel CreateNotificationChannel(String ChannelId, String KeepAliveTaskActivationClassId, String PushNotificationProcessingTaskActivationClassId, UInt32 ServerKeepAliveIntervalInMinutes);

  public abstract interface IStreamSocket
 
  public abstract virtual StreamSocketControl Control { get; }
  public abstract virtual StreamSocketInformation Information { get; }
  public abstract virtual IInputStream InputStream { get; }
  public abstract virtual IOutputStream OutputStream { get; }
  public abstract virtual void Close();
  public abstract virtual StreamSocketConnectOperation ConnectAsync(HostName remoteHostName, String remoteServiceName, SocketProtectionLevel protectionLevel);
  public abstract virtual UpgradeToSslOperation UpgradeToSslAsync(SocketProtectionLevel protectionLevel, HostName validationHostName);

  public abstract interface IStreamSocketListenerFactory
 
  public abstract virtual StreamSocketListener CreateStreamSocketListener(String serviceName);

  public abstract interface IWebSocket
 
  public abstract virtual IOutputStream OutputStream { get; }
  public abstract virtual String Protocol { get; }
  public abstract virtual IList`1<String> SupportedProtocols { get; }
  public abstract virtual void Close();
  public abstract virtual WebSocketConnectOperation ConnectAsync(Uri uri);
  public abstract virtual void SetRequestHeader(String headerName, String headerValue);

  public sealed class ListenerStartedEventHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual void Invoke(StreamSocketListener sender);

  public sealed class MessageWebSocket
  : __ComObject, IMessageWebSocket, IWebSocket
  public virtual MessageWebSocketControl Control { get; }
  public virtual MessageWebSocketInformation Information { get; }
  public virtual IOutputStream OutputStream { get; }
  public virtual String Protocol { get; }
  public virtual IList`1<String> SupportedProtocols { get; }
  public virtual event MessageWebSocketMessageReceivedEventHandler MessageReceived;
  public virtual void Close();
  public virtual WebSocketConnectOperation ConnectAsync(Uri uri);
  public virtual void SetRequestHeader(String headerName, String headerValue);

  public sealed class MessageWebSocketControl
  : __ComObject, IMessageWebSocketControl
  public virtual UInt32 MaxMessageSize { get; set; }
  public virtual SocketMessageType MessageType { get; set; }
  public virtual UInt32 OutboundBufferSizeInBytes { get; set; }
  public virtual IPasswordCredential ProxyCredential { get; set; }
  public virtual IPasswordCredential ServerCredential { get; set; }

  public sealed class MessageWebSocketInformation
  : __ComObject, IMessageWebSocketInformation
  public virtual BandwidthStatistics BandwidthStatistics { get; }
  public virtual HostName LocalHostName { get; }

  public sealed class MessageWebSocketMessageReceivedEventArgs
  : __ComObject, IMessageWebSocketMessageReceivedEventArgs
  public virtual Boolean IsServerClosed { get; }
  public virtual SocketMessageType MessageType { get; }
  public virtual DataReader GetDataReader();
  public virtual IInputStream GetDataStream();

  public sealed class MessageWebSocketMessageReceivedEventHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual void Invoke(MessageWebSocket sender, MessageWebSocketMessageReceivedEventArgs e);

  public sealed class NotificationChannel
  : __ComObject, INotificationChannel
  public virtual String KeepAliveTaskActivationClassId { get; }
  public virtual String NotificationChannelId { get; }
  public virtual String PushNotificationProcessingTaskActivationClassId { get; }
  public virtual UInt32 ServerKeepAliveIntervalInMinutes { get; set; }
  public virtual void DecreaseNetworkKeepAliveInterval();
  public virtual NotificationChannelStatus UsingTransport(Object Transport);

  public sealed enum NotificationChannelStatus
  : IComparable, IFormattable, IConvertible
  { Success, MaxTransportConnectionsExceeded }

  public sealed struct RoundTripTimeStatistics
  : ValueType

  public sealed enum SocketMessageType
  : IComparable, IFormattable, IConvertible
  { Binary, Utf8 }

  public sealed enum SocketProtectionLevel
  : IComparable, IFormattable, IConvertible
  { PlainSocket, Ssl, SslAllowNullEncryption }

  public sealed enum SocketQualityOfService
  : IComparable, IFormattable, IConvertible
  { Normal, Audio }

  public sealed class StreamSocket
  : __ComObject, IStreamSocket
  public virtual StreamSocketControl Control { get; }
  public virtual StreamSocketInformation Information { get; }
  public virtual IInputStream InputStream { get; }
  public virtual IOutputStream OutputStream { get; }
  public virtual void Close();
  public virtual StreamSocketConnectOperation ConnectAsync(HostName remoteHostName, String remoteServiceName, SocketProtectionLevel protectionLevel);
  public virtual UpgradeToSslOperation UpgradeToSslAsync(SocketProtectionLevel protectionLevel, HostName validationHostName);

  public sealed class StreamSocketConnectOperation
  : __ComObject, IAsyncAction, IAsyncInfo
  public virtual AsyncActionCompletedHandler Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual void GetResults();
  public virtual void Start();

  public sealed class StreamSocketControl
  : __ComObject, IStreamSocketControl
  public virtual Boolean KeepAlive { get; set; }
  public virtual Boolean NoDelay { get; set; }
  public virtual UInt32 OutboundBufferSizeInBytes { get; set; }
  public virtual SocketQualityOfService QualityOfService { get; set; }

  public sealed class StreamSocketInformation
  : __ComObject, IStreamSocketInformation
  public virtual BandwidthStatistics BandwidthStatistics { get; }
  public virtual HostName LocalHostName { get; set; }
  public virtual String LocalServiceName { get; set; }
  public virtual HostName RemoteHostName { get; }
  public virtual String RemoteServiceName { get; }
  public virtual RoundTripTimeStatistics RoundTripTimeStatistics { get; }
  public virtual SocketProtectionLevel SslStrength { get; }

  public sealed class StreamSocketListener
  : __ComObject, IStreamSocketListener
  public virtual SocketQualityOfService QualityOfService { get; set; }
  public virtual String ServiceName { get; set; }
  public virtual event ListenerStartedEventHandler ListenerStarted;
  public virtual AcceptOperation AcceptAsync();
  public virtual void Close();

  public sealed class StreamWebSocket
  : __ComObject, IStreamWebSocket, IWebSocket
  public virtual StreamWebSocketControl Control { get; }
  public virtual StreamWebSocketInformation Information { get; }
  public virtual IInputStream InputStream { get; }
  public virtual IOutputStream OutputStream { get; }
  public virtual String Protocol { get; }
  public virtual IList`1<String> SupportedProtocols { get; }
  public virtual void Close();
  public virtual WebSocketConnectOperation ConnectAsync(Uri uri);
  public virtual void SetRequestHeader(String headerName, String headerValue);

  public sealed class StreamWebSocketControl
  : __ComObject, IStreamWebSocketControl
  public virtual Boolean NoDelay { get; set; }
  public virtual UInt32 OutboundBufferSizeInBytes { get; set; }
  public virtual IPasswordCredential ProxyCredential { get; set; }
  public virtual IPasswordCredential ServerCredential { get; set; }

  public sealed class StreamWebSocketInformation
  : __ComObject, IStreamWebSocketInformation
  public virtual BandwidthStatistics BandwidthStatistics { get; }
  public virtual HostName LocalHostName { get; }

  public sealed class UpgradeToSslOperation
  : __ComObject, IAsyncAction, IAsyncInfo
  public virtual AsyncActionCompletedHandler Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual void GetResults();
  public virtual void Start();

  public sealed class WebSocketConnectOperation
  : __ComObject, IAsyncAction, IAsyncInfo
  public virtual AsyncActionCompletedHandler Completed { get; set; }
  public virtual Exception ErrorCode { get; }
  public virtual UInt32 Id { get; }
  public virtual AsyncStatus Status { get; }
  public virtual void Cancel();
  public virtual void Close();
  public virtual void GetResults();
  public virtual void Start();