Silverlight 5 WinRT

  public sealed class DeviceArrivedEventHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual void Invoke(ProximityDevice sender);

  public sealed class DeviceDepartedEventHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual void Invoke(ProximityDevice sender);

  public abstract interface IPeerConnectProgressEventArgs
 
  public abstract virtual UInt32 ConnectId { get; }
  public abstract virtual PeerConnectState ConnectState { get; }
  public abstract virtual ProximityStreamSocket ProximityStreamSocket { get; }

  public abstract interface IPeerFinderStatics
 
  public abstract virtual Boolean AllowBluetooth { get; set; }
  public abstract virtual Boolean AllowTcpIp { get; set; }
  public abstract virtual Boolean AllowWiFiDirect { get; set; }
  public abstract virtual event PeerConnectProgressEventHandler PeerConnectProgress;
  public abstract virtual void Start();
  public abstract virtual void Start(String peerMessage);
  public abstract virtual void Stop();

  public abstract interface IProximityDevice
 
  public abstract virtual UInt64 BitsPerSecond { get; }
  public abstract virtual String DeviceId { get; }
  public abstract virtual UInt32 MaxMessageBytes { get; }
  public abstract virtual event DeviceArrivedEventHandler DeviceArrived;
  public abstract virtual event DeviceDepartedEventHandler DeviceDeparted;
  public abstract virtual Int64 PublishBinaryMessage(String messageType, IInputStream messageData);
  public abstract virtual Int64 PublishBinaryMessage(String messageType, IInputStream messageData, MessageTransmittedHandler messageTransmittedHandler);
  public abstract virtual Int64 PublishMessage(String messageType, String messageString);
  public abstract virtual Int64 PublishMessage(String messageType, String messageString, MessageTransmittedHandler messageTransmittedHandler);
  public abstract virtual Int64 PublishUriMessage(Uri uriMessage);
  public abstract virtual Int64 PublishUriMessage(Uri uriMessage, MessageTransmittedHandler messageTransmittedHandler);
  public abstract virtual void StopPublishingMessage(Int64 messageId);
  public abstract virtual void StopSubscribingForMessage(Int64 subscriptionId);
  public abstract virtual Int64 SubscribeForMessage(String messageType, MessageReceivedHandler messageReceivedHandler);

  public abstract interface IProximityDeviceStatics
 
  public abstract virtual ProximityDevice FromId(String deviceInterfaceId);
  public abstract virtual ProximityDevice GetDefault();
  public abstract virtual String GetDeviceSelector();

  public abstract interface IProximityMessage
 
  public abstract virtual IInputStream Data { get; }
  public abstract virtual String DataAsString { get; }
  public abstract virtual String MessageType { get; }
  public abstract virtual Int64 SubscriptionId { get; }

  public abstract interface IProximityStreamSocket
  : IStreamSocket
  public abstract virtual IBuffer SessionKey { get; }
  public abstract virtual ProximitySocketType SocketType { get; }

  public sealed class MessageReceivedHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual void Invoke(ProximityDevice sender, ProximityMessage message);

  public sealed class MessageTransmittedHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual void Invoke(ProximityDevice sender, Int64 messageId);

  public sealed class PeerConnectProgressEventArgs
  : __ComObject, IPeerConnectProgressEventArgs
  public virtual UInt32 ConnectId { get; }
  public virtual PeerConnectState ConnectState { get; }
  public virtual ProximityStreamSocket ProximityStreamSocket { get; }

  public sealed class PeerConnectProgressEventHandler
  : MulticastDelegate, ICloneable, ISerializable
  public virtual void Invoke(Object sender, PeerConnectProgressEventArgs e);

  public sealed enum PeerConnectState
  : IComparable, IFormattable, IConvertible
  { NewPeerFound, ListeningForConnect, ConnectingToDevice, ConnectComplete, ConnectCanceled, ConnectFailed }

  public abstract sealed class PeerFinder
  : __ComObject
  static public Boolean AllowBluetooth { get; set; }
  static public Boolean AllowTcpIp { get; set; }
  static public Boolean AllowWiFiDirect { get; set; }
  static public event PeerConnectProgressEventHandler PeerConnectProgress;
  static public void Start();
  static public void Start(String peerMessage);
  static public void Stop();

  public sealed class ProximityDevice
  : __ComObject, IProximityDevice
  public virtual UInt64 BitsPerSecond { get; }
  public virtual String DeviceId { get; }
  public virtual UInt32 MaxMessageBytes { get; }
  public virtual event DeviceArrivedEventHandler DeviceArrived;
  public virtual event DeviceDepartedEventHandler DeviceDeparted;
  static public ProximityDevice FromId(String deviceInterfaceId);
  static public ProximityDevice GetDefault();
  static public String GetDeviceSelector();
  public virtual Int64 PublishBinaryMessage(String messageType, IInputStream messageData);
  public virtual Int64 PublishBinaryMessage(String messageType, IInputStream messageData, MessageTransmittedHandler messageTransmittedHandler);
  public virtual Int64 PublishMessage(String messageType, String messageString);
  public virtual Int64 PublishMessage(String messageType, String messageString, MessageTransmittedHandler messageTransmittedHandler);
  public virtual Int64 PublishUriMessage(Uri uriMessage);
  public virtual Int64 PublishUriMessage(Uri uriMessage, MessageTransmittedHandler messageTransmittedHandler);
  public virtual void StopPublishingMessage(Int64 messageId);
  public virtual void StopSubscribingForMessage(Int64 subscriptionId);
  public virtual Int64 SubscribeForMessage(String messageType, MessageReceivedHandler messageReceivedHandler);

  public sealed class ProximityMessage
  : __ComObject, IProximityMessage
  public virtual IInputStream Data { get; }
  public virtual String DataAsString { get; }
  public virtual String MessageType { get; }
  public virtual Int64 SubscriptionId { get; }

  public sealed enum ProximitySocketType
  : IComparable, IFormattable, IConvertible
  { Bluetooth, TcpIp, WiFiDirect }

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