Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeLocalMemHandle.cs / 1305376 / SafeLocalMemHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeLocalMemHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for handle to local memory ** ** 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 SafeLocalMemHandle : SafeHandleZeroOrMinusOneIsInvalid { internal SafeLocalMemHandle() : base(true) {} [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeLocalMemHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(existingHandle); } [DllImport(ExternDll.Advapi32, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true, BestFitMapping=false)] [ResourceExposure(ResourceScope.None)] internal static extern unsafe bool ConvertStringSecurityDescriptorToSecurityDescriptor(string StringSecurityDescriptor, int StringSDRevision, out SafeLocalMemHandle pSecurityDescriptor, IntPtr SecurityDescriptorSize); [DllImport(ExternDll.Kernel32)] [ResourceExposure(ResourceScope.None)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern IntPtr LocalFree(IntPtr hMem); override protected bool ReleaseHandle() { return LocalFree(handle) == IntPtr.Zero; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeLocalMemHandle ** **Author: David Gutierrez ([....]) ** ** A wrapper for handle to local memory ** ** 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 SafeLocalMemHandle : SafeHandleZeroOrMinusOneIsInvalid { internal SafeLocalMemHandle() : base(true) {} [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeLocalMemHandle(IntPtr existingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(existingHandle); } [DllImport(ExternDll.Advapi32, CharSet=System.Runtime.InteropServices.CharSet.Auto, SetLastError=true, BestFitMapping=false)] [ResourceExposure(ResourceScope.None)] internal static extern unsafe bool ConvertStringSecurityDescriptorToSecurityDescriptor(string StringSecurityDescriptor, int StringSDRevision, out SafeLocalMemHandle pSecurityDescriptor, IntPtr SecurityDescriptorSize); [DllImport(ExternDll.Kernel32)] [ResourceExposure(ResourceScope.None)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern IntPtr LocalFree(IntPtr hMem); override protected bool ReleaseHandle() { return LocalFree(handle) == IntPtr.Zero; } } } // 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
- NativeMethodsCLR.cs
- JoinTreeSlot.cs
- LogStream.cs
- Delegate.cs
- InvalidPropValue.cs
- MemoryMappedViewAccessor.cs
- Timeline.cs
- Empty.cs
- Typography.cs
- LongTypeConverter.cs
- ResourceDescriptionAttribute.cs
- ClassHandlersStore.cs
- ServiceDesigner.cs
- ReadOnlyCollection.cs
- ZipIOLocalFileDataDescriptor.cs
- TabletCollection.cs
- ArraySortHelper.cs
- RichTextBoxConstants.cs
- MultipleViewPattern.cs
- TextTreeFixupNode.cs
- ErrorTableItemStyle.cs
- CompositeFontParser.cs
- RepeatButton.cs
- HtmlForm.cs
- NativeMethods.cs
- ObjectItemConventionAssemblyLoader.cs
- FormsAuthenticationUserCollection.cs
- PersonalizableAttribute.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- Classification.cs
- HitTestParameters.cs
- NativeMethods.cs
- SessionStateContainer.cs
- SessionEndingEventArgs.cs
- ClientConfigurationHost.cs
- ReadOnlyMetadataCollection.cs
- Bezier.cs
- ModuleConfigurationInfo.cs
- ToolStripOverflowButton.cs
- _DigestClient.cs
- MdiWindowListStrip.cs
- IpcManager.cs
- DesignSurfaceServiceContainer.cs
- AsyncPostBackTrigger.cs
- DataControlFieldCell.cs
- MobileControlsSectionHelper.cs
- DateTimeParse.cs
- ConfigXmlSignificantWhitespace.cs
- StreamWithDictionary.cs
- CodeGeneratorAttribute.cs
- WmlLabelAdapter.cs
- XsltContext.cs
- DateTimeFormatInfo.cs
- TableRowCollection.cs
- SafeEventLogWriteHandle.cs
- Vertex.cs
- LogStream.cs
- wgx_commands.cs
- TreeNodeMouseHoverEvent.cs
- BaseCollection.cs
- ViewgenGatekeeper.cs
- GlobalEventManager.cs
- ContainerUtilities.cs
- SafeEventLogWriteHandle.cs
- FilteredDataSetHelper.cs
- DirectoryObjectSecurity.cs
- XmlILOptimizerVisitor.cs
- ZipIOExtraFieldElement.cs
- XmlSchemaSimpleTypeUnion.cs
- DynamicExpression.cs
- ServerValidateEventArgs.cs
- Evaluator.cs
- WindowsNonControl.cs
- XamlStyleSerializer.cs
- CallbackValidatorAttribute.cs
- RadialGradientBrush.cs
- CfgParser.cs
- RoutedEventArgs.cs
- PersonalizationStateInfoCollection.cs
- WebPartUserCapability.cs
- SmtpFailedRecipientsException.cs
- AttributeUsageAttribute.cs
- COM2ExtendedBrowsingHandler.cs
- SessionPageStatePersister.cs
- BehaviorService.cs
- SamlConstants.cs
- MsmqVerifier.cs
- CustomErrorsSection.cs
- JsonFormatGeneratorStatics.cs
- CrossSiteScriptingValidation.cs
- AdornerLayer.cs
- DataGridViewCellStateChangedEventArgs.cs
- XmlChildNodes.cs
- QuaternionKeyFrameCollection.cs
- EnumBuilder.cs
- XmlHierarchicalDataSourceView.cs
- WebBrowser.cs
- ConnectionPoolRegistry.cs
- HttpRequestBase.cs
- TableLayoutCellPaintEventArgs.cs