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
- Monitor.cs
- ToolStrip.cs
- ReadOnlyDictionary.cs
- ErrorProvider.cs
- ToolStripArrowRenderEventArgs.cs
- ElementHostAutomationPeer.cs
- LongSumAggregationOperator.cs
- StylusButton.cs
- BaseEntityWrapper.cs
- SafeCryptoHandles.cs
- ColumnTypeConverter.cs
- Model3D.cs
- BrowserTree.cs
- XPathNavigatorReader.cs
- WindowsGraphicsWrapper.cs
- NGCSerializationManager.cs
- HostingPreferredMapPath.cs
- VectorAnimationBase.cs
- SelectionService.cs
- AutomationElement.cs
- CalendarDataBindingHandler.cs
- SingleStorage.cs
- FrameworkTextComposition.cs
- UInt16Storage.cs
- SHA512.cs
- CompilerLocalReference.cs
- DataServiceProviderWrapper.cs
- DataAdapter.cs
- StringArrayEditor.cs
- MediaCommands.cs
- AuthenticateEventArgs.cs
- MimeWriter.cs
- DataGridViewImageColumn.cs
- ParseElement.cs
- ConfigurationManagerInternal.cs
- TreeViewBindingsEditorForm.cs
- HwndMouseInputProvider.cs
- assemblycache.cs
- PropertyEmitter.cs
- XmlUrlEditor.cs
- GroupDescription.cs
- TextOptions.cs
- DetailsViewRow.cs
- BufferModesCollection.cs
- GridViewPageEventArgs.cs
- StringExpressionSet.cs
- ChildDocumentBlock.cs
- DoubleLinkList.cs
- FontResourceCache.cs
- RightsManagementEncryptedStream.cs
- BulletedListEventArgs.cs
- XmlAttributeOverrides.cs
- NameValueSectionHandler.cs
- JoinSymbol.cs
- SubMenuStyle.cs
- _WinHttpWebProxyDataBuilder.cs
- AppSettingsExpressionEditor.cs
- Property.cs
- PageParserFilter.cs
- XmlDataSource.cs
- AspCompat.cs
- SQLRoleProvider.cs
- EndOfStreamException.cs
- XmlDataSourceNodeDescriptor.cs
- WebPartDescriptionCollection.cs
- BmpBitmapDecoder.cs
- TrackingWorkflowEventArgs.cs
- PropertySegmentSerializer.cs
- CompositeCollection.cs
- UxThemeWrapper.cs
- ComboBoxRenderer.cs
- UpdateExpressionVisitor.cs
- IndentTextWriter.cs
- DetailsView.cs
- StringToken.cs
- XmlElementList.cs
- ChangePassword.cs
- handlecollector.cs
- AutoGeneratedFieldProperties.cs
- Scene3D.cs
- Schema.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- ApplicationHost.cs
- RecognizedAudio.cs
- DataViewSettingCollection.cs
- Atom10FormatterFactory.cs
- PartialCachingAttribute.cs
- DesignTimeTemplateParser.cs
- DataGridViewHitTestInfo.cs
- TableRowCollection.cs
- SamlSerializer.cs
- _AutoWebProxyScriptWrapper.cs
- Screen.cs
- DSASignatureDeformatter.cs
- WebPartsSection.cs
- ErrorInfoXmlDocument.cs
- SafeNativeMethods.cs
- DbConnectionPoolOptions.cs
- ColorConvertedBitmapExtension.cs
- MatrixTransform.cs