Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- TreeIterator.cs
- autovalidator.cs
- VectorKeyFrameCollection.cs
- AssemblyUtil.cs
- CharacterBuffer.cs
- TokenCreationParameter.cs
- FacetValues.cs
- DataSpaceManager.cs
- PreviewPrintController.cs
- DataRowIndexBuffer.cs
- NetCodeGroup.cs
- CellParaClient.cs
- DetailsViewInsertedEventArgs.cs
- DataTableMappingCollection.cs
- QueryGeneratorBase.cs
- AutomationAttributeInfo.cs
- UrlAuthorizationModule.cs
- CalendarDay.cs
- RegexCaptureCollection.cs
- StringCollection.cs
- documentation.cs
- XmlMembersMapping.cs
- MarshalByValueComponent.cs
- SplitContainerDesigner.cs
- InvalidWMPVersionException.cs
- Version.cs
- CodeAttributeArgumentCollection.cs
- NullableLongSumAggregationOperator.cs
- ChineseLunisolarCalendar.cs
- AlternateView.cs
- Mapping.cs
- DataGridItemAutomationPeer.cs
- MenuEventArgs.cs
- AggregateNode.cs
- SHA1Managed.cs
- TimeManager.cs
- AnnotationDocumentPaginator.cs
- Hash.cs
- XmlNullResolver.cs
- SurrogateChar.cs
- ParenthesizePropertyNameAttribute.cs
- RestHandlerFactory.cs
- TextTreeUndoUnit.cs
- ExtenderControl.cs
- FeatureSupport.cs
- SoapObjectReader.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- X509ChainElement.cs
- DynamicScriptObject.cs
- HiddenFieldPageStatePersister.cs
- RepeaterItem.cs
- Single.cs
- RegionData.cs
- SimplePropertyEntry.cs
- ErrorInfoXmlDocument.cs
- CorrelationService.cs
- ConfigurationStrings.cs
- SelectionPatternIdentifiers.cs
- MasterPageCodeDomTreeGenerator.cs
- StyleTypedPropertyAttribute.cs
- PopupEventArgs.cs
- EventLogPermissionEntry.cs
- CommandBindingCollection.cs
- PathFigureCollection.cs
- ReachUIElementCollectionSerializer.cs
- EncodingNLS.cs
- LiteralControl.cs
- CheckBoxBaseAdapter.cs
- CipherData.cs
- Buffer.cs
- SqlBulkCopyColumnMapping.cs
- Slider.cs
- FrameworkTemplate.cs
- SqlFlattener.cs
- WebPartEditVerb.cs
- OleDbErrorCollection.cs
- Quaternion.cs
- XmlReflectionImporter.cs
- HtmlTableRowCollection.cs
- ObjectDataSourceDisposingEventArgs.cs
- VideoDrawing.cs
- ComponentDesigner.cs
- ConfigurationSectionCollection.cs
- Interlocked.cs
- SqlDataSourceSelectingEventArgs.cs
- HttpListenerRequest.cs
- DataGrid.cs
- EntityContainerEntitySetDefiningQuery.cs
- CompilationSection.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- MessageBox.cs
- HealthMonitoringSectionHelper.cs
- ComplexType.cs
- CompareInfo.cs
- DefaultValueAttribute.cs
- StorageComplexPropertyMapping.cs
- SoapAttributeOverrides.cs
- InvalidPropValue.cs
- RoleService.cs
- ObjectPropertyMapping.cs