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
- ConfigurationStrings.cs
- ImageConverter.cs
- WaitHandle.cs
- Identifier.cs
- GeometryConverter.cs
- APCustomTypeDescriptor.cs
- XsltContext.cs
- ApplicationFileCodeDomTreeGenerator.cs
- PersonalizationState.cs
- DiscoveryCallbackBehavior.cs
- SimpleBitVector32.cs
- EntitySqlQueryCacheEntry.cs
- LabelExpression.cs
- EntityDataSourceDataSelection.cs
- Journaling.cs
- DbDataReader.cs
- XmlSigningNodeWriter.cs
- DataRelationCollection.cs
- ObjectTokenCategory.cs
- SchemaTableOptionalColumn.cs
- ConstraintStruct.cs
- HtmlAnchor.cs
- PropertyDescriptorCollection.cs
- Native.cs
- SQLMembershipProvider.cs
- DataBinding.cs
- XmlNullResolver.cs
- PermissionSetEnumerator.cs
- OleDbError.cs
- WebColorConverter.cs
- DataViewManager.cs
- XmlILModule.cs
- SizeLimitedCache.cs
- DataSet.cs
- QuaternionRotation3D.cs
- TemplateControl.cs
- SqlAggregateChecker.cs
- MethodCallTranslator.cs
- UInt64Storage.cs
- DiagnosticsConfiguration.cs
- SoapSchemaExporter.cs
- ThreadStartException.cs
- StubHelpers.cs
- ShortcutKeysEditor.cs
- LineVisual.cs
- DataGridLinkButton.cs
- WebConfigurationManager.cs
- FactoryGenerator.cs
- StatusBarItem.cs
- TransformerInfo.cs
- ScriptControlManager.cs
- DockPanel.cs
- HtmlInputFile.cs
- HttpPostedFile.cs
- GraphicsContainer.cs
- TreeNodeMouseHoverEvent.cs
- BitmapCodecInfo.cs
- listitem.cs
- XmlSchemaComplexContentRestriction.cs
- UserInitiatedNavigationPermission.cs
- WebBrowserUriTypeConverter.cs
- AudioSignalProblemOccurredEventArgs.cs
- SymbolType.cs
- DbMetaDataColumnNames.cs
- QueryCacheManager.cs
- ProxyHelper.cs
- ZipIOBlockManager.cs
- COM2EnumConverter.cs
- ToolTip.cs
- InArgumentConverter.cs
- SoapCodeExporter.cs
- StickyNoteAnnotations.cs
- DigitalSignatureProvider.cs
- FixedSOMContainer.cs
- diagnosticsswitches.cs
- HttpPostedFile.cs
- TabletCollection.cs
- GlobalEventManager.cs
- DeploymentSectionCache.cs
- RegularExpressionValidator.cs
- WindowsSecurityTokenAuthenticator.cs
- AssemblySettingAttributes.cs
- EventWaitHandle.cs
- MultiView.cs
- SubqueryRules.cs
- SamlAssertionKeyIdentifierClause.cs
- EntityDataSourceValidationException.cs
- TransformationRules.cs
- ButtonBase.cs
- Executor.cs
- XmlTextReaderImpl.cs
- OleDbConnection.cs
- Vector3DAnimationBase.cs
- RootBrowserWindow.cs
- WebBrowserNavigatingEventHandler.cs
- UniqueEventHelper.cs
- ETagAttribute.cs
- UnsafeNativeMethods.cs
- PtsContext.cs
- Int16Converter.cs