Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- EditingCommands.cs
- GridEntry.cs
- MailDefinition.cs
- XmlAnyAttributeAttribute.cs
- baseaxisquery.cs
- StringReader.cs
- ToolboxComponentsCreatingEventArgs.cs
- JsonWriter.cs
- XmlValidatingReaderImpl.cs
- EpmTargetPathSegment.cs
- FigureParaClient.cs
- CurrentChangingEventArgs.cs
- OutputCacheSettingsSection.cs
- RemotingAttributes.cs
- ControlBuilderAttribute.cs
- Membership.cs
- BamlBinaryReader.cs
- PropertyValueUIItem.cs
- SiteMapHierarchicalDataSourceView.cs
- CodeAttributeDeclarationCollection.cs
- NetMsmqSecurityElement.cs
- StorageMappingFragment.cs
- ToolStripPanelCell.cs
- BrowserCapabilitiesCompiler.cs
- SiteMapNodeItem.cs
- AutoResizedEvent.cs
- SystemIPInterfaceProperties.cs
- PersonalizationAdministration.cs
- State.cs
- AssertFilter.cs
- CodeAttributeDeclarationCollection.cs
- LineServices.cs
- UrlPath.cs
- XPathNodePointer.cs
- LinkedResourceCollection.cs
- RectangleGeometry.cs
- Material.cs
- Overlapped.cs
- SystemIcmpV4Statistics.cs
- ValidatorCompatibilityHelper.cs
- ProfileManager.cs
- ListParaClient.cs
- MdiWindowListItemConverter.cs
- TableItemProviderWrapper.cs
- DelimitedListTraceListener.cs
- XmlParser.cs
- Propagator.cs
- DataControlFieldCollection.cs
- PersonalizationState.cs
- DataGridViewTextBoxEditingControl.cs
- HexParser.cs
- ProcessInputEventArgs.cs
- SafeEventLogWriteHandle.cs
- _SecureChannel.cs
- WorkflowEnvironment.cs
- DataContract.cs
- NonClientArea.cs
- ImageMap.cs
- SoapIgnoreAttribute.cs
- QilCloneVisitor.cs
- MDIControlStrip.cs
- Button.cs
- AssertFilter.cs
- Error.cs
- FormViewCommandEventArgs.cs
- FileUpload.cs
- AggregateNode.cs
- JournalEntryStack.cs
- BrowserCapabilitiesCodeGenerator.cs
- DashStyle.cs
- HwndKeyboardInputProvider.cs
- FolderBrowserDialog.cs
- PathFigure.cs
- DoubleLinkList.cs
- ProfileSettingsCollection.cs
- GestureRecognitionResult.cs
- ApplicationManager.cs
- SystemDiagnosticsSection.cs
- ConstraintConverter.cs
- RadioButtonBaseAdapter.cs
- MarkupCompiler.cs
- TextElementEnumerator.cs
- ValueOfAction.cs
- CssClassPropertyAttribute.cs
- ShaderEffect.cs
- DataGridViewCellStyleConverter.cs
- ToolStripButton.cs
- CompositeTypefaceMetrics.cs
- ModelTypeConverter.cs
- WmfPlaceableFileHeader.cs
- MetadataPropertyCollection.cs
- ClientOptions.cs
- Math.cs
- TextBoxDesigner.cs
- FaultContractAttribute.cs
- CancelRequestedQuery.cs
- HttpCookieCollection.cs
- MethodImplAttribute.cs
- ProfileEventArgs.cs
- WebEventCodes.cs