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
- BitConverter.cs
- TextTreeFixupNode.cs
- CollectionsUtil.cs
- AtomicFile.cs
- MasterPageParser.cs
- CqlWriter.cs
- DataGridViewMethods.cs
- Attributes.cs
- StorageModelBuildProvider.cs
- SQLDouble.cs
- RuntimeHandles.cs
- RuntimeResourceSet.cs
- UDPClient.cs
- WinEventWrap.cs
- SmtpNtlmAuthenticationModule.cs
- XmlSortKey.cs
- HtmlInputPassword.cs
- SrgsText.cs
- VariableQuery.cs
- EncodingDataItem.cs
- ServerValidateEventArgs.cs
- DataGridTextBoxColumn.cs
- ImmutableCollection.cs
- DesignerWidgets.cs
- TagNameToTypeMapper.cs
- ArglessEventHandlerProxy.cs
- ImageListUtils.cs
- PrtTicket_Editor.cs
- RoutedEventConverter.cs
- ListControlConvertEventArgs.cs
- Message.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- DataGridViewToolTip.cs
- RoleGroup.cs
- PlainXmlDeserializer.cs
- TerminateSequence.cs
- TransactionException.cs
- KnownBoxes.cs
- EastAsianLunisolarCalendar.cs
- SQLBytes.cs
- UnsafePeerToPeerMethods.cs
- WsdlWriter.cs
- UdpRetransmissionSettings.cs
- Events.cs
- SafeNativeMethods.cs
- Panel.cs
- ToolStripDropDownClosedEventArgs.cs
- WMIGenerator.cs
- DataGridTableCollection.cs
- ListViewItemMouseHoverEvent.cs
- InstanceCompleteException.cs
- ChtmlTextWriter.cs
- CollectionViewProxy.cs
- DataViewSettingCollection.cs
- RotateTransform.cs
- ProxyManager.cs
- WebUtil.cs
- _NetworkingPerfCounters.cs
- NavigationEventArgs.cs
- InvokeAction.cs
- IndicCharClassifier.cs
- isolationinterop.cs
- StrokeNodeData.cs
- MessageBox.cs
- ImportCatalogPart.cs
- HtmlTable.cs
- ReadOnlyNameValueCollection.cs
- DBSqlParserColumnCollection.cs
- PostBackOptions.cs
- CompiledELinqQueryState.cs
- ValidationPropertyAttribute.cs
- SelectionItemPattern.cs
- SignerInfo.cs
- EntityParameter.cs
- TextParagraphView.cs
- TreeNodeEventArgs.cs
- SchemaType.cs
- MatrixCamera.cs
- WebPartEditVerb.cs
- DiscoveryEndpointElement.cs
- ResponseStream.cs
- TrackBarRenderer.cs
- NaturalLanguageHyphenator.cs
- RSAOAEPKeyExchangeDeformatter.cs
- PhonemeConverter.cs
- Deserializer.cs
- WebPartMenuStyle.cs
- ConsoleKeyInfo.cs
- TreeNodeSelectionProcessor.cs
- RuntimeConfigurationRecord.cs
- XmlCharCheckingReader.cs
- SqlUserDefinedAggregateAttribute.cs
- SiteOfOriginPart.cs
- Size3DValueSerializer.cs
- Configuration.cs
- ItemAutomationPeer.cs
- DataGridViewTopRowAccessibleObject.cs
- ArcSegment.cs
- Console.cs
- DocumentEventArgs.cs