EventBookmark.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventBookmark.cs / 1305376 / EventBookmark.cs

                            // ==++== 
//
//   Copyright (c) Microsoft Corporation.  All rights reserved.
//
// ==--== 
/*============================================================
** 
** Class: EventBookmark 
**
** Purpose: 
** This public class represents an opaque Event Bookmark obtained
** from an EventRecord.  The bookmark denotes a unique identifier
** for the event instance as well as marks the location in the
** the result set of the EventReader that the event instance was 
** obtained from.
** 
============================================================*/ 
using System.Runtime.InteropServices;
using System.Security.Permissions; 
using System.Runtime.Serialization;

namespace System.Diagnostics.Eventing.Reader {
 
    //
    // NOTE: This class must be generic enough to be used across 
    // eventing base implementations.  Cannot add anything 
    // that ties it to one particular implementation.
    // 

    /// 
    /// Represents an opaque Event Bookmark obtained from an EventRecord.
    /// The bookmark denotes a unique identifier for the event instance as 
    /// well as marks the location in the the result set of the EventReader
    /// that the event instance was obtained from. 
    ///  
    [Serializable]
    [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] 
    public class EventBookmark : ISerializable {
        string bookmark;

        internal EventBookmark(string bookmarkText) { 
            if (bookmarkText == null)
                throw new ArgumentNullException("bookmarkText"); 
            this.bookmark = bookmarkText; 
        }
 
        protected EventBookmark(SerializationInfo info, StreamingContext context) {
            if (info == null)
                throw new ArgumentNullException("info");
            this.bookmark = info.GetString("BookmarkText"); 
        }
 
        // SecurityCritical due to inherited link demand for GetObjectData. 
        [System.Security.SecurityCritical,SecurityPermissionAttribute(SecurityAction.LinkDemand,Flags = SecurityPermissionFlag.SerializationFormatter)]
        void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { 
             GetObjectData( info, context );
        }

        // SecurityCritical due to inherited link demand for GetObjectData. 
        [System.Security.SecurityCritical,SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
        protected virtual void GetObjectData(SerializationInfo info, StreamingContext context) { 
 
            if (info == null)
                throw new ArgumentNullException("info"); 
            info.AddValue("BookmarkText", this.bookmark);
        }

        internal string BookmarkText { get { return bookmark; } } 
    }
} 
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK