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
- AlgoModule.cs
- CatalogPart.cs
- ListBindableAttribute.cs
- CacheRequest.cs
- XsltConvert.cs
- ToolStripDropTargetManager.cs
- Attributes.cs
- ClonableStack.cs
- SecurityHelper.cs
- PropertyRef.cs
- ListView.cs
- WriteableBitmap.cs
- PresentationTraceSources.cs
- OnOperation.cs
- TagPrefixCollection.cs
- ValidationHelpers.cs
- QuaternionAnimationBase.cs
- TextModifier.cs
- TdsParserStaticMethods.cs
- AbstractExpressions.cs
- PersonalizableTypeEntry.cs
- DebugHandleTracker.cs
- ResourceDisplayNameAttribute.cs
- Parameter.cs
- IsolatedStorage.cs
- DbSetClause.cs
- UpDownBase.cs
- ProgressBarRenderer.cs
- ReaderWriterLock.cs
- NativeMethods.cs
- QueryExecutionOption.cs
- HtmlTable.cs
- WindowsComboBox.cs
- BinaryObjectInfo.cs
- ComplexBindingPropertiesAttribute.cs
- CodeTypeParameter.cs
- WorkflowInlining.cs
- SizeAnimationClockResource.cs
- DataTableMappingCollection.cs
- SectionInput.cs
- MiniCustomAttributeInfo.cs
- ReachUIElementCollectionSerializerAsync.cs
- AVElementHelper.cs
- dataprotectionpermissionattribute.cs
- NetSectionGroup.cs
- Image.cs
- SQLMoneyStorage.cs
- GeneralTransformGroup.cs
- PropertyBuilder.cs
- FlowchartSizeFeature.cs
- ContextMarshalException.cs
- DataGridrowEditEndingEventArgs.cs
- NominalTypeEliminator.cs
- LazyTextWriterCreator.cs
- OptimizedTemplateContent.cs
- FrameworkContextData.cs
- IndentedWriter.cs
- DataListItemCollection.cs
- CodeTypeReferenceExpression.cs
- RootBuilder.cs
- WindowsListViewGroupHelper.cs
- RotationValidation.cs
- UnaryNode.cs
- DbException.cs
- ControlParameter.cs
- base64Transforms.cs
- EventLogPermissionEntryCollection.cs
- BindingList.cs
- WmlMobileTextWriter.cs
- XmlDataDocument.cs
- PngBitmapDecoder.cs
- CodeIdentifiers.cs
- SHA384Managed.cs
- ObjectDataSourceFilteringEventArgs.cs
- StreamBodyWriter.cs
- XmlSiteMapProvider.cs
- ToolStripContextMenu.cs
- CodeChecksumPragma.cs
- WebEventCodes.cs
- RowParagraph.cs
- SoapReflectionImporter.cs
- TTSEvent.cs
- SelectedCellsChangedEventArgs.cs
- CommandHelpers.cs
- CheckableControlBaseAdapter.cs
- ProvidePropertyAttribute.cs
- CopyNamespacesAction.cs
- TrimSurroundingWhitespaceAttribute.cs
- Crypto.cs
- Rfc2898DeriveBytes.cs
- _SingleItemRequestCache.cs
- ListManagerBindingsCollection.cs
- MatrixAnimationBase.cs
- DefaultTypeArgumentAttribute.cs
- DataGridTextBox.cs
- FusionWrap.cs
- RowCache.cs
- WizardPanelChangingEventArgs.cs
- IndividualDeviceConfig.cs
- CollectionDataContract.cs