Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeUserTokenHandle.cs / 1305376 / SafeUserTokenHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeUserTokenHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for a user token handle ** ** Date: July 8, 2002 ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; using System.Runtime.ConstrainedExecution; using System.Runtime.Versioning; namespace Microsoft.Win32.SafeHandles { [HostProtectionAttribute(MayLeakOnAbort = true)] [SuppressUnmanagedCodeSecurityAttribute] internal sealed class SafeUserTokenHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note that OpenProcess returns 0 on failure. internal SafeUserTokenHandle() : base (true) {} internal SafeUserTokenHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(existingHandle); } #if !FEATURE_PAL [DllImport(ExternDll.Advapi32, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true, BestFitMapping=false)] [ResourceExposure(ResourceScope.None)] internal extern static bool DuplicateTokenEx(SafeHandle hToken, int access, NativeMethods.SECURITY_ATTRIBUTES tokenAttributes, int impersonationLevel, int tokenType, out SafeUserTokenHandle hNewToken); #endif // !FEATURE_PAL [DllImport(ExternDll.Kernel32, ExactSpelling=true, SetLastError=true)] [ResourceExposure(ResourceScope.None)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern bool CloseHandle(IntPtr handle); override protected bool ReleaseHandle() { return CloseHandle(handle); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeUserTokenHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for a user token handle ** ** Date: July 8, 2002 ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; using System.Runtime.ConstrainedExecution; using System.Runtime.Versioning; namespace Microsoft.Win32.SafeHandles { [HostProtectionAttribute(MayLeakOnAbort = true)] [SuppressUnmanagedCodeSecurityAttribute] internal sealed class SafeUserTokenHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note that OpenProcess returns 0 on failure. internal SafeUserTokenHandle() : base (true) {} internal SafeUserTokenHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(existingHandle); } #if !FEATURE_PAL [DllImport(ExternDll.Advapi32, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true, BestFitMapping=false)] [ResourceExposure(ResourceScope.None)] internal extern static bool DuplicateTokenEx(SafeHandle hToken, int access, NativeMethods.SECURITY_ATTRIBUTES tokenAttributes, int impersonationLevel, int tokenType, out SafeUserTokenHandle hNewToken); #endif // !FEATURE_PAL [DllImport(ExternDll.Kernel32, ExactSpelling=true, SetLastError=true)] [ResourceExposure(ResourceScope.None)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern bool CloseHandle(IntPtr handle); override protected bool ReleaseHandle() { return CloseHandle(handle); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableHeaderCell.cs
- SizeChangedInfo.cs
- XmlSchemaRedefine.cs
- ModelTreeManager.cs
- UserNameSecurityTokenProvider.cs
- MemberMemberBinding.cs
- MonthChangedEventArgs.cs
- MaskInputRejectedEventArgs.cs
- ConfigurationSettings.cs
- ISFClipboardData.cs
- InstanceDataCollectionCollection.cs
- LinkedList.cs
- Pointer.cs
- DotExpr.cs
- DetailsView.cs
- SQLBinary.cs
- PageThemeBuildProvider.cs
- XamlGridLengthSerializer.cs
- Sql8ConformanceChecker.cs
- ReflectionHelper.cs
- FastEncoder.cs
- TemplateControlBuildProvider.cs
- SelectedDatesCollection.cs
- XPathNodeHelper.cs
- CalloutQueueItem.cs
- PropertyEntry.cs
- cookiecontainer.cs
- ViewgenContext.cs
- EDesignUtil.cs
- SubstitutionList.cs
- Point4D.cs
- CodeObjectCreateExpression.cs
- Int64AnimationBase.cs
- QualifiedCellIdBoolean.cs
- TableChangeProcessor.cs
- XhtmlConformanceSection.cs
- FormView.cs
- BitmapData.cs
- StylusLogic.cs
- JapaneseCalendar.cs
- ConfigErrorGlyph.cs
- PerformanceCounterPermission.cs
- CalloutQueueItem.cs
- ColorMap.cs
- OutputCacheModule.cs
- HttpGetClientProtocol.cs
- CngProvider.cs
- DesignerForm.cs
- AlternateView.cs
- ListControl.cs
- ConsumerConnectionPoint.cs
- TypeUnloadedException.cs
- PaperSize.cs
- CSharpCodeProvider.cs
- PointCollectionConverter.cs
- Int32Animation.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- Component.cs
- GeometryModel3D.cs
- HostSecurityManager.cs
- ProcessModuleCollection.cs
- Button.cs
- HashCodeCombiner.cs
- FamilyMap.cs
- Int32CAMarshaler.cs
- DashStyle.cs
- XmlNodeWriter.cs
- _TLSstream.cs
- ProxyManager.cs
- XmlCDATASection.cs
- SerializationSectionGroup.cs
- DiscoveryProxy.cs
- _NetworkingPerfCounters.cs
- AuthenticationService.cs
- FtpWebRequest.cs
- NameValuePermission.cs
- ArrangedElement.cs
- ReflectionUtil.cs
- coordinatorscratchpad.cs
- SchemaSetCompiler.cs
- XNodeValidator.cs
- TemplatedMailWebEventProvider.cs
- StringComparer.cs
- IQueryable.cs
- DateTimeStorage.cs
- _RequestCacheProtocol.cs
- GridItemCollection.cs
- DbParameterHelper.cs
- PageParserFilter.cs
- SafeCoTaskMem.cs
- DesignBindingEditor.cs
- TextRenderingModeValidation.cs
- Button.cs
- XamlSerializer.cs
- SHA512Cng.cs
- relpropertyhelper.cs
- NullReferenceException.cs
- MessageRpc.cs
- PasswordRecovery.cs
- LoginUtil.cs