Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / CompMod / Microsoft / Win32 / SafeHandles / SafeLocalMemHandle.cs / 1 / 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; 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)] internal static extern unsafe bool ConvertStringSecurityDescriptorToSecurityDescriptor(string StringSecurityDescriptor, int StringSDRevision, out SafeLocalMemHandle pSecurityDescriptor, IntPtr SecurityDescriptorSize); [DllImport(ExternDll.Kernel32)] [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; 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)] internal static extern unsafe bool ConvertStringSecurityDescriptorToSecurityDescriptor(string StringSecurityDescriptor, int StringSDRevision, out SafeLocalMemHandle pSecurityDescriptor, IntPtr SecurityDescriptorSize); [DllImport(ExternDll.Kernel32)] [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
- LineGeometry.cs
- MergeLocalizationDirectives.cs
- AmbientProperties.cs
- MenuItemStyle.cs
- ImageListDesigner.cs
- CollaborationHelperFunctions.cs
- SqlNodeAnnotation.cs
- SecurityChannelFaultConverter.cs
- ModifierKeysConverter.cs
- AQNBuilder.cs
- InertiaTranslationBehavior.cs
- SelectionProcessor.cs
- ResponseStream.cs
- BuildProviderAppliesToAttribute.cs
- PropertyConverter.cs
- NativeRecognizer.cs
- DataListItemCollection.cs
- WindowsPen.cs
- AuthorizationRule.cs
- StoreContentChangedEventArgs.cs
- util.cs
- Properties.cs
- ImageAnimator.cs
- ArgumentsParser.cs
- InheritanceRules.cs
- AddDataControlFieldDialog.cs
- ExpandableObjectConverter.cs
- PersonalizationProvider.cs
- SectionInformation.cs
- PointKeyFrameCollection.cs
- FacetChecker.cs
- EditorServiceContext.cs
- SdlChannelSink.cs
- XmlAnyAttributeAttribute.cs
- FilteredSchemaElementLookUpTable.cs
- SqlGenerator.cs
- TextTreeObjectNode.cs
- ViewBase.cs
- XmlWhitespace.cs
- C14NUtil.cs
- UnsafeNativeMethods.cs
- EdmType.cs
- SerializableAttribute.cs
- dataprotectionpermission.cs
- DrawingServices.cs
- LinqDataSourceContextEventArgs.cs
- ModelItemDictionary.cs
- OutOfProcStateClientManager.cs
- Style.cs
- MeasureItemEvent.cs
- WebBrowser.cs
- StartFileNameEditor.cs
- SeparatorAutomationPeer.cs
- ListViewItem.cs
- CSharpCodeProvider.cs
- Accessors.cs
- TypeNameParser.cs
- StaticExtensionConverter.cs
- HierarchicalDataTemplate.cs
- InfoCardTraceRecord.cs
- CfgParser.cs
- StreamGeometry.cs
- CultureInfo.cs
- MissingMemberException.cs
- FlowLayoutPanel.cs
- DataGridHeaderBorder.cs
- ExtendedProtectionPolicy.cs
- Slider.cs
- GeneralTransform3DCollection.cs
- SwitchLevelAttribute.cs
- PrintDialogDesigner.cs
- Rotation3DAnimationBase.cs
- CopyOfAction.cs
- WindowPattern.cs
- WorkflowDataContext.cs
- ObjectDataSourceStatusEventArgs.cs
- ProviderSettings.cs
- OutOfProcStateClientManager.cs
- FileIOPermission.cs
- LinqToSqlWrapper.cs
- TextDecorationLocationValidation.cs
- PlatformNotSupportedException.cs
- _BufferOffsetSize.cs
- DropShadowEffect.cs
- InkSerializer.cs
- TimeEnumHelper.cs
- ToolStripManager.cs
- DocumentXmlWriter.cs
- embossbitmapeffect.cs
- FileStream.cs
- EventEntry.cs
- BamlTreeMap.cs
- RectangleHotSpot.cs
- MenuStrip.cs
- SafeProcessHandle.cs
- WebControlParameterProxy.cs
- DataGridViewAutoSizeModeEventArgs.cs
- TextWriterTraceListener.cs
- TokenBasedSet.cs
- HtmlInputButton.cs