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
- LabelInfo.cs
- CriticalFinalizerObject.cs
- StrongNameIdentityPermission.cs
- ActivityAction.cs
- ElementNotEnabledException.cs
- EndCreateSecurityTokenRequest.cs
- CharacterBuffer.cs
- DBCSCodePageEncoding.cs
- TextSelectionHelper.cs
- Int64KeyFrameCollection.cs
- Processor.cs
- TransactionsSectionGroup.cs
- TextRangeEditLists.cs
- XmlReaderSettings.cs
- EventListener.cs
- MemberInitExpression.cs
- MenuEventArgs.cs
- DbConnectionOptions.cs
- BooleanAnimationUsingKeyFrames.cs
- mactripleDES.cs
- RelatedCurrencyManager.cs
- ImageConverter.cs
- FixedFindEngine.cs
- ObjectDataSourceDisposingEventArgs.cs
- M3DUtil.cs
- TaskHelper.cs
- BaseTemplateCodeDomTreeGenerator.cs
- DetailsView.cs
- SoapAttributes.cs
- WebPartConnectVerb.cs
- ShaderRenderModeValidation.cs
- KeyProperty.cs
- DateTimeUtil.cs
- ScriptResourceDefinition.cs
- DeferredBinaryDeserializerExtension.cs
- Perspective.cs
- httpstaticobjectscollection.cs
- CompilerGlobalScopeAttribute.cs
- FilterException.cs
- EmbossBitmapEffect.cs
- EventInfo.cs
- EntityDataSourceValidationException.cs
- BoundPropertyEntry.cs
- WorkflowView.cs
- TdsParser.cs
- PropertyBuilder.cs
- DynamicMethod.cs
- ScrollContentPresenter.cs
- DocumentGridContextMenu.cs
- ThreadExceptionEvent.cs
- LabelAutomationPeer.cs
- XmlAnyElementAttribute.cs
- SecuritySessionFilter.cs
- RequestSecurityTokenResponse.cs
- KeySplineConverter.cs
- XmlSchemaSimpleContentExtension.cs
- Table.cs
- ContextQuery.cs
- UrlUtility.cs
- Dynamic.cs
- SignatureDescription.cs
- PerformanceCounterNameAttribute.cs
- OracleParameter.cs
- GeneralTransform3DTo2D.cs
- MetadataArtifactLoaderComposite.cs
- ShadowGlyph.cs
- InvalidDataException.cs
- Rotation3DAnimationBase.cs
- __Error.cs
- CacheModeValueSerializer.cs
- SocketManager.cs
- SymmetricAlgorithm.cs
- Point4DValueSerializer.cs
- CellConstantDomain.cs
- CharacterMetricsDictionary.cs
- ErrorWebPart.cs
- WebScriptEndpoint.cs
- DecimalConstantAttribute.cs
- ModelTypeConverter.cs
- StartUpEventArgs.cs
- CorrelationTokenInvalidatedHandler.cs
- MdImport.cs
- ToolStripMenuItemCodeDomSerializer.cs
- DataRecordInternal.cs
- WebPartMovingEventArgs.cs
- CodeAccessSecurityEngine.cs
- PointHitTestParameters.cs
- ReflectionTypeLoadException.cs
- ContextMenuStripGroupCollection.cs
- SHA384Managed.cs
- ButtonAutomationPeer.cs
- MarshalByRefObject.cs
- PreloadedPackages.cs
- SafeCryptContextHandle.cs
- EventLevel.cs
- ServiceParser.cs
- Brush.cs
- ReceiveContextCollection.cs
- SafeNativeMethods.cs
- TimeManager.cs