SafeTokenHandle.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Client / System / IdentityModel / Selectors / SafeTokenHandle.cs / 1 / SafeTokenHandle.cs

                            //------------------------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------------------------

namespace System.IdentityModel.Selectors 
{
    using System; 
    using System.Runtime.InteropServices; 
    using System.Runtime.ConstrainedExecution;
    using System.Security; 



 
    //
    // Summary: 
    // Provides a wrapper over the generic xml token returned from the native client 
    //
    internal class SafeTokenHandle : SafeHandle 
    {


        [DllImport( "infocardapi.dll", 
                    EntryPoint      ="FreeToken",
                    CharSet         = CharSet.Unicode, 
                    CallingConvention = CallingConvention.StdCall, 
                    ExactSpelling   = true,
                    SetLastError    = true ) ] 
       [SuppressUnmanagedCodeSecurity]
       [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
       public static extern System.Int32 FreeToken( [In] IntPtr token );
 

 
 
        private SafeTokenHandle() : base( IntPtr.Zero, true )
        { 
        }


        public override bool IsInvalid 
        {
            get 
            { 
                return ( IntPtr.Zero == base.handle );
            } 
        }


        protected override bool ReleaseHandle() 
        {
#pragma warning suppress 56523 
            return  ( 0 == FreeToken( base.handle ) ) ? false : true; 
        }
 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

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