Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- AttachmentService.cs
- AddingNewEventArgs.cs
- _NativeSSPI.cs
- TreeNodeCollectionEditor.cs
- UpdateRecord.cs
- HttpException.cs
- XmlnsDictionary.cs
- __Error.cs
- DataGridToolTip.cs
- DeferredSelectedIndexReference.cs
- ErrorProvider.cs
- FontStyles.cs
- DataViewManagerListItemTypeDescriptor.cs
- DefaultParameterValueAttribute.cs
- TraceSection.cs
- Pair.cs
- ContentWrapperAttribute.cs
- CacheHelper.cs
- PageThemeCodeDomTreeGenerator.cs
- XmlSignificantWhitespace.cs
- BulletChrome.cs
- Visitor.cs
- Errors.cs
- VisualTransition.cs
- WebPartEditorCancelVerb.cs
- Scene3D.cs
- TextTreeNode.cs
- CSharpCodeProvider.cs
- PKCS1MaskGenerationMethod.cs
- DrawingGroup.cs
- SimpleMailWebEventProvider.cs
- ParentUndoUnit.cs
- SQLBinary.cs
- dtdvalidator.cs
- _Semaphore.cs
- XMLSchema.cs
- WebPartCatalogAddVerb.cs
- NotSupportedException.cs
- WindowsTokenRoleProvider.cs
- XmlEntityReference.cs
- TextParagraphProperties.cs
- MissingManifestResourceException.cs
- ParameterCollection.cs
- TextBounds.cs
- PropertyChangingEventArgs.cs
- InternalEnumValidator.cs
- MasterPageParser.cs
- StringTraceRecord.cs
- ResolveCriteria.cs
- SelectionRangeConverter.cs
- PersonalizationEntry.cs
- ImplicitInputBrush.cs
- SystemDropShadowChrome.cs
- InstanceStore.cs
- LayoutTableCell.cs
- SqlGatherConsumedAliases.cs
- SoapIgnoreAttribute.cs
- QilReference.cs
- cookieexception.cs
- InheritanceContextHelper.cs
- PasswordBox.cs
- XmlDocumentFragment.cs
- ValidationErrorCollection.cs
- webeventbuffer.cs
- HostVisual.cs
- WorkflowPersistenceContext.cs
- TargetException.cs
- IntSecurity.cs
- HierarchicalDataBoundControl.cs
- AssociationSet.cs
- OdbcTransaction.cs
- System.Data.OracleClient_BID.cs
- WorkflowDataContext.cs
- HttpProtocolImporter.cs
- GiveFeedbackEventArgs.cs
- AssemblyCache.cs
- Rfc2898DeriveBytes.cs
- SynchronizedInputAdaptor.cs
- WebBrowserContainer.cs
- ProxyWebPartConnectionCollection.cs
- CommentEmitter.cs
- ToolStripItemRenderEventArgs.cs
- FixedPageAutomationPeer.cs
- bidPrivateBase.cs
- ReadOnlyHierarchicalDataSourceView.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- TimeStampChecker.cs
- TagMapCollection.cs
- CapabilitiesSection.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- XPathNavigator.cs
- ScriptResourceHandler.cs
- StrokeSerializer.cs
- RawStylusInput.cs
- UInt64.cs
- XmlSerializationWriter.cs
- URLMembershipCondition.cs
- ContextMenuAutomationPeer.cs
- FilteredDataSetHelper.cs
- TextElementEditingBehaviorAttribute.cs