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
- SemanticResultKey.cs
- Int32Rect.cs
- EventLogger.cs
- IteratorFilter.cs
- ContractTypeNameCollection.cs
- relpropertyhelper.cs
- BorderGapMaskConverter.cs
- X509ThumbprintKeyIdentifierClause.cs
- PKCS1MaskGenerationMethod.cs
- SoapElementAttribute.cs
- XmlSchemaException.cs
- ExceptionHandler.cs
- DetailsViewModeEventArgs.cs
- SqlTransaction.cs
- RectAnimationBase.cs
- AuthenticateEventArgs.cs
- CreateUserErrorEventArgs.cs
- keycontainerpermission.cs
- Subset.cs
- ExpressionHelper.cs
- MobileSysDescriptionAttribute.cs
- CollectionChangeEventArgs.cs
- StylusLogic.cs
- SHA384CryptoServiceProvider.cs
- RawUIStateInputReport.cs
- SoapReflectionImporter.cs
- DataGrid.cs
- ExpressionEditorAttribute.cs
- SafeFileMapViewHandle.cs
- Application.cs
- TextTreeObjectNode.cs
- TreeIterator.cs
- SessionStateUtil.cs
- TextServicesContext.cs
- RuntimeWrappedException.cs
- RNGCryptoServiceProvider.cs
- xamlnodes.cs
- MouseGestureValueSerializer.cs
- DataRelation.cs
- SuppressMergeCheckAttribute.cs
- SplitterEvent.cs
- BrowserCapabilitiesFactory.cs
- AlphaSortedEnumConverter.cs
- PanelDesigner.cs
- DataRowView.cs
- MenuItemStyleCollection.cs
- AppDomainFactory.cs
- SecurityTokenAttachmentMode.cs
- Panel.cs
- DbException.cs
- SoapCodeExporter.cs
- ToolStripScrollButton.cs
- RuleSettings.cs
- AsyncStreamReader.cs
- DateTimeUtil.cs
- StyleBamlTreeBuilder.cs
- ResourceProviderFactory.cs
- ConnectionPoolManager.cs
- EmbeddedMailObjectCollectionEditor.cs
- StrokeNode.cs
- SimpleHandlerBuildProvider.cs
- Int64Storage.cs
- ToolStripMenuItemDesigner.cs
- GraphicsPathIterator.cs
- XmlSchemaDocumentation.cs
- XPathBinder.cs
- SafeHandle.cs
- DataServiceResponse.cs
- EventSinkHelperWriter.cs
- _AuthenticationState.cs
- FixedDocument.cs
- RawMouseInputReport.cs
- HealthMonitoringSection.cs
- FontFamily.cs
- ZipFileInfoCollection.cs
- TypeExtensionConverter.cs
- CompoundFileReference.cs
- HttpCapabilitiesBase.cs
- XmlSerializationWriter.cs
- MsmqVerifier.cs
- BufferModesCollection.cs
- pingexception.cs
- SqlFacetAttribute.cs
- PathSegment.cs
- DBDataPermission.cs
- SeekStoryboard.cs
- DesignOnlyAttribute.cs
- SafeReversePInvokeHandle.cs
- TableLayoutSettings.cs
- StylusTip.cs
- ReachDocumentPageSerializer.cs
- SafeWaitHandle.cs
- RemotingConfiguration.cs
- WindowsListViewSubItem.cs
- UserNameServiceElement.cs
- ServiceModelSecurityTokenRequirement.cs
- ObjectDataSourceStatusEventArgs.cs
- XmlArrayAttribute.cs
- CLRBindingWorker.cs
- DbProviderFactoriesConfigurationHandler.cs