Silverlight 5 WinRT

  public class EventBookmark
  : ISerializable
  protected virtual void GetObjectData(SerializationInfo info, StreamingContext context);

  public sealed class EventKeyword
 
  public String DisplayName { get; }
  public String Name { get; }
  public Int64 Value { get; }

  public sealed class EventLevel
 
  public String DisplayName { get; }
  public String Name { get; }
  public Int32 Value { get; }

  public class EventLogConfiguration
  : IDisposable
  public Boolean IsClassicLog { get; }
  public Boolean IsEnabled { get; set; }
  public String LogFilePath { get; set; }
  public EventLogIsolation LogIsolation { get; }
  public EventLogMode LogMode { get; set; }
  public String LogName { get; }
  public EventLogType LogType { get; }
  public Int64 MaximumSizeInBytes { get; set; }
  public String OwningProviderName { get; }
  public Nullable`1<Int32> ProviderBufferSize { get; }
  public Nullable`1<Guid> ProviderControlGuid { get; }
  public Nullable`1<Int64> ProviderKeywords { get; set; }
  public Nullable`1<Int32> ProviderLatency { get; }
  public Nullable`1<Int32> ProviderLevel { get; set; }
  public Nullable`1<Int32> ProviderMaximumNumberOfBuffers { get; }
  public Nullable`1<Int32> ProviderMinimumNumberOfBuffers { get; }
  public IEnumerable`1<String> ProviderNames { get; }
  public String SecurityDescriptor { get; set; }
  public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
  public void SaveChanges();

  public class EventLogException
  : Exception, ISerializable, _Exception
  public virtual String Message { get; }
  public virtual void GetObjectData(SerializationInfo info, StreamingContext context);

  public sealed class EventLogInformation
 
  public Nullable`1<Int32> Attributes { get; }
  public Nullable`1<DateTime> CreationTime { get; }
  public Nullable`1<Int64> FileSize { get; }
  public Nullable`1<Boolean> IsLogFull { get; }
  public Nullable`1<DateTime> LastAccessTime { get; }
  public Nullable`1<DateTime> LastWriteTime { get; }
  public Nullable`1<Int64> OldestRecordNumber { get; }
  public Nullable`1<Int64> RecordCount { get; }

  public class EventLogInvalidDataException
  : EventLogException, ISerializable, _Exception

  public sealed enum EventLogIsolation
  : IComparable, IFormattable, IConvertible
  { Application, System, Custom }

  public sealed class EventLogLink
 
  public String DisplayName { get; }
  public Boolean IsImported { get; }
  public String LogName { get; }

  public sealed enum EventLogMode
  : IComparable, IFormattable, IConvertible
  { Circular, AutoBackup, Retain }

  public class EventLogNotFoundException
  : EventLogException, ISerializable, _Exception

  public class EventLogPropertySelector
  : IDisposable
  public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);

  public class EventLogProviderDisabledException
  : EventLogException, ISerializable, _Exception

  public class EventLogQuery
 
  public Boolean ReverseDirection { get; set; }
  public EventLogSession Session { get; set; }
  public Boolean TolerateQueryErrors { get; set; }

  public class EventLogReader
  : IDisposable
  public Int32 BatchSize { get; set; }
  public IList`1<EventLogStatus> LogStatus { get; }
  public void CancelReading();
  public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
  public EventRecord ReadEvent();
  public EventRecord ReadEvent(TimeSpan timeout);
  public void Seek(EventBookmark bookmark);
  public void Seek(EventBookmark bookmark, Int64 offset);
  public void Seek(SeekOrigin origin, Int64 offset);

  public class EventLogReadingException
  : EventLogException, ISerializable, _Exception

  public class EventLogRecord
  : EventRecord, IDisposable
  public virtual Nullable`1<Guid> ActivityId { get; }
  public virtual EventBookmark Bookmark { get; }
  public String ContainerLog { get; }
  public virtual Int32 Id { get; }
  public virtual Nullable`1<Int64> Keywords { get; }
  public virtual IEnumerable`1<String> KeywordsDisplayNames { get; }
  public virtual Nullable`1<Byte> Level { get; }
  public virtual String LevelDisplayName { get; }
  public virtual String LogName { get; }
  public virtual String MachineName { get; }
  public IEnumerable`1<Int32> MatchedQueryIds { get; }
  public virtual Nullable`1<Int16> Opcode { get; }
  public virtual String OpcodeDisplayName { get; }
  public virtual Nullable`1<Int32> ProcessId { get; }
  public virtual IList`1<EventProperty> Properties { get; }
  public virtual Nullable`1<Guid> ProviderId { get; }
  public virtual String ProviderName { get; }
  public virtual Nullable`1<Int32> Qualifiers { get; }
  public virtual Nullable`1<Int64> RecordId { get; }
  public virtual Nullable`1<Guid> RelatedActivityId { get; }
  public virtual Nullable`1<Int32> Task { get; }
  public virtual String TaskDisplayName { get; }
  public virtual Nullable`1<Int32> ThreadId { get; }
  public virtual Nullable`1<DateTime> TimeCreated { get; }
  public virtual SecurityIdentifier UserId { get; }
  public virtual Nullable`1<Byte> Version { get; }
  protected virtual void Dispose(Boolean disposing);
  public virtual String FormatDescription();
  public virtual String FormatDescription(IEnumerable`1<Object> values);
  public IList`1<Object> GetPropertyValues(EventLogPropertySelector propertySelector);
  public virtual String ToXml();

  public class EventLogSession
  : IDisposable
  static public EventLogSession GlobalSession { get; }
  public void CancelCurrentOperations();
  public void ClearLog(String logName);
  public void ClearLog(String logName, String backupPath);
  public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
  public void ExportLog(String path, PathType pathType, String query, String targetFilePath);
  public void ExportLog(String path, PathType pathType, String query, String targetFilePath, Boolean tolerateQueryErrors);
  public void ExportLogAndMessages(String path, PathType pathType, String query, String targetFilePath);
  public void ExportLogAndMessages(String path, PathType pathType, String query, String targetFilePath, Boolean tolerateQueryErrors, CultureInfo targetCultureInfo);
  public EventLogInformation GetLogInformation(String logName, PathType pathType);
  public IEnumerable`1<String> GetLogNames();
  public IEnumerable`1<String> GetProviderNames();

  public sealed class EventLogStatus
 
  public String LogName { get; }
  public Int32 StatusCode { get; }

  public sealed enum EventLogType
  : IComparable, IFormattable, IConvertible
  { Administrative, Operational, Analytical, Debug }

  public class EventLogWatcher
  : IDisposable
  public Boolean Enabled { get; set; }
  public event EventHandler`1<EventRecordWrittenEventArgs> EventRecordWritten;
  public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);

  public sealed class EventMetadata
 
  public String Description { get; }
  public Int64 Id { get; }
  public IEnumerable`1<EventKeyword> Keywords { get; }
  public EventLevel Level { get; }
  public EventLogLink LogLink { get; }
  public EventOpcode Opcode { get; }
  public EventTask Task { get; }
  public String Template { get; }
  public Byte Version { get; }

  public sealed class EventOpcode
 
  public String DisplayName { get; }
  public String Name { get; }
  public Int32 Value { get; }

  public sealed class EventProperty
 
  public Object Value { get; }

  public abstract class EventRecord
  : IDisposable
  public abstract virtual Nullable`1<Guid> ActivityId { get; }
  public abstract virtual EventBookmark Bookmark { get; }
  public abstract virtual Int32 Id { get; }
  public abstract virtual Nullable`1<Int64> Keywords { get; }
  public abstract virtual IEnumerable`1<String> KeywordsDisplayNames { get; }
  public abstract virtual Nullable`1<Byte> Level { get; }
  public abstract virtual String LevelDisplayName { get; }
  public abstract virtual String LogName { get; }
  public abstract virtual String MachineName { get; }
  public abstract virtual Nullable`1<Int16> Opcode { get; }
  public abstract virtual String OpcodeDisplayName { get; }
  public abstract virtual Nullable`1<Int32> ProcessId { get; }
  public abstract virtual IList`1<EventProperty> Properties { get; }
  public abstract virtual Nullable`1<Guid> ProviderId { get; }
  public abstract virtual String ProviderName { get; }
  public abstract virtual Nullable`1<Int32> Qualifiers { get; }
  public abstract virtual Nullable`1<Int64> RecordId { get; }
  public abstract virtual Nullable`1<Guid> RelatedActivityId { get; }
  public abstract virtual Nullable`1<Int32> Task { get; }
  public abstract virtual String TaskDisplayName { get; }
  public abstract virtual Nullable`1<Int32> ThreadId { get; }
  public abstract virtual Nullable`1<DateTime> TimeCreated { get; }
  public abstract virtual SecurityIdentifier UserId { get; }
  public abstract virtual Nullable`1<Byte> Version { get; }
  public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
  public abstract virtual String FormatDescription();
  public abstract virtual String FormatDescription(IEnumerable`1<Object> values);
  public abstract virtual String ToXml();

  public sealed class EventRecordWrittenEventArgs
  : EventArgs
  public Exception EventException { get; }
  public EventRecord EventRecord { get; }

  public sealed class EventTask
 
  public String DisplayName { get; }
  public Guid EventGuid { get; }
  public String Name { get; }
  public Int32 Value { get; }

  public sealed enum PathType
  : IComparable, IFormattable, IConvertible
  { LogName, FilePath }

  public class ProviderMetadata
  : IDisposable
  public String DisplayName { get; }
  public IEnumerable`1<EventMetadata> Events { get; }
  public Uri HelpLink { get; }
  public Guid Id { get; }
  public IList`1<EventKeyword> Keywords { get; }
  public IList`1<EventLevel> Levels { get; }
  public IList`1<EventLogLink> LogLinks { get; }
  public String MessageFilePath { get; }
  public String Name { get; }
  public IList`1<EventOpcode> Opcodes { get; }
  public String ParameterFilePath { get; }
  public String ResourceFilePath { get; }
  public IList`1<EventTask> Tasks { get; }
  public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);

  public sealed enum SessionAuthentication
  : IComparable, IFormattable, IConvertible
  { Default, Negotiate, Kerberos, Ntlm }

  public sealed enum StandardEventKeywords
  : IComparable, IFormattable, IConvertible
  { None, ResponseTime, WdiContext, WdiDiagnostic, Sqm, AuditFailure, AuditSuccess, CorrelationHint, CorrelationHint2, EventLogClassic }

  public sealed enum StandardEventLevel
  : IComparable, IFormattable, IConvertible
  { LogAlways, Critical, Error, Warning, Informational, Verbose }

  public sealed enum StandardEventOpcode
  : IComparable, IFormattable, IConvertible
  { Info, Start, Stop, DataCollectionStart, DataCollectionStop, Extension, Reply, Resume, Suspend, Send, Receive }

  public sealed enum StandardEventTask
  : IComparable, IFormattable, IConvertible
  { None }

  class NativeWrapper