Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeUserTokenHandle.cs / 1 / 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; 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)] 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)] [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; 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)] 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)] [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
- IgnoreSectionHandler.cs
- ListViewGroup.cs
- NavigateEvent.cs
- NullableDecimalMinMaxAggregationOperator.cs
- XsltQilFactory.cs
- SiteMapSection.cs
- OracleLob.cs
- ObjectToIdCache.cs
- BaseParagraph.cs
- While.cs
- ToolStripDropDownClosingEventArgs.cs
- OpCopier.cs
- WorkflowInspectionServices.cs
- DataMemberAttribute.cs
- LogWriteRestartAreaState.cs
- XmlWellformedWriter.cs
- TextEditorTables.cs
- PanelDesigner.cs
- EventsTab.cs
- Sql8ConformanceChecker.cs
- SystemUdpStatistics.cs
- storepermissionattribute.cs
- DataGridTextBox.cs
- NoPersistScope.cs
- PeerInvitationResponse.cs
- MatchAllMessageFilter.cs
- UrlPath.cs
- ProxyWebPart.cs
- ResourceCategoryAttribute.cs
- SystemWebSectionGroup.cs
- ReaderWriterLockSlim.cs
- ManagementObjectSearcher.cs
- InvokePatternIdentifiers.cs
- OutOfMemoryException.cs
- _emptywebproxy.cs
- ApplicationInfo.cs
- ProcessModelInfo.cs
- ActivityWithResultWrapper.cs
- AppDomainShutdownMonitor.cs
- IdnElement.cs
- PathFigureCollectionConverter.cs
- Size3DValueSerializer.cs
- ReadOnlyState.cs
- BindingWorker.cs
- EventPrivateKey.cs
- SocketElement.cs
- SymbolType.cs
- TraceHandler.cs
- TextEvent.cs
- WindowsProgressbar.cs
- SchemaComplexType.cs
- NavigationService.cs
- GridViewCancelEditEventArgs.cs
- DebugView.cs
- SqlProcedureAttribute.cs
- TextDpi.cs
- WpfGeneratedKnownTypes.cs
- WindowsSecurityToken.cs
- DeviceContext2.cs
- RegexCompilationInfo.cs
- DurableOperationAttribute.cs
- DisposableCollectionWrapper.cs
- CompositionTarget.cs
- Thumb.cs
- X509ChainElement.cs
- TabControl.cs
- MouseCaptureWithinProperty.cs
- ScrollData.cs
- ScalarConstant.cs
- FlowDocumentPaginator.cs
- HandlerFactoryCache.cs
- CrossSiteScriptingValidation.cs
- WindowExtensionMethods.cs
- ResourcePermissionBaseEntry.cs
- DataGridItemEventArgs.cs
- XMLUtil.cs
- HuffModule.cs
- PriorityQueue.cs
- XmlObjectSerializerContext.cs
- OracleParameterCollection.cs
- MemberPathMap.cs
- Point3DCollection.cs
- CustomAttributeBuilder.cs
- BaseTemplateCodeDomTreeGenerator.cs
- HMACRIPEMD160.cs
- BaseConfigurationRecord.cs
- ToolStripPanelRow.cs
- XmlQueryType.cs
- Int64Converter.cs
- Timeline.cs
- PathParser.cs
- AvTrace.cs
- SecurityContext.cs
- DbTransaction.cs
- CommandPlan.cs
- ListViewAutomationPeer.cs
- ZipIOExtraFieldElement.cs
- AsyncStreamReader.cs
- BindableAttribute.cs
- XamlPointCollectionSerializer.cs