Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / Microsoft / Win32 / SafeHandles / SafeMemoryMappedViewHandle.cs / 1305376 / SafeMemoryMappedViewHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeMemoryMappedViewHandle ** ** Purpose: Safe handle wrapping a MMF view pointer ** ** Date: February 7, 2007 ** ===========================================================*/ using System; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; namespace Microsoft.Win32.SafeHandles { // Reliability notes: // ReleaseHandle has reliability guarantee of Cer.Success, as defined by SafeHandle. // It gets prepared as a CER at instance construction time. This safe handle doesn't // need to override IsInvalid because the one it inherits from // SafeHandleZeroOrMinusOneIsInvalid is correct. //// #pragma warning disable 618 // Have not migrated to v4 transparency yet [System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)] #pragma warning restore 618 public sealed class SafeMemoryMappedViewHandle : SafeBuffer { [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)] internal SafeMemoryMappedViewHandle() : base(true) { } [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)] internal SafeMemoryMappedViewHandle(IntPtr handle, bool ownsHandle) : base(ownsHandle) { base.SetHandle(handle); } [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] override protected bool ReleaseHandle() { if (UnsafeNativeMethods.UnmapViewOfFile(handle)) { handle = IntPtr.Zero; return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeMemoryMappedViewHandle ** ** Purpose: Safe handle wrapping a MMF view pointer ** ** Date: February 7, 2007 ** ===========================================================*/ using System; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using Microsoft.Win32; using Microsoft.Win32.SafeHandles; namespace Microsoft.Win32.SafeHandles { // Reliability notes: // ReleaseHandle has reliability guarantee of Cer.Success, as defined by SafeHandle. // It gets prepared as a CER at instance construction time. This safe handle doesn't // need to override IsInvalid because the one it inherits from // SafeHandleZeroOrMinusOneIsInvalid is correct. //// // #pragma warning disable 618 // Have not migrated to v4 transparency yet [System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)] #pragma warning restore 618 public sealed class SafeMemoryMappedViewHandle : SafeBuffer { [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)] internal SafeMemoryMappedViewHandle() : base(true) { } [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)] internal SafeMemoryMappedViewHandle(IntPtr handle, bool ownsHandle) : base(ownsHandle) { base.SetHandle(handle); } [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] override protected bool ReleaseHandle() { if (UnsafeNativeMethods.UnmapViewOfFile(handle)) { handle = IntPtr.Zero; return true; } return false; } } } // 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
- PrintDialog.cs
- SafeMILHandle.cs
- UnknownBitmapEncoder.cs
- RijndaelManagedTransform.cs
- AlternateView.cs
- CaseInsensitiveComparer.cs
- InteropExecutor.cs
- ImmutableObjectAttribute.cs
- Walker.cs
- InputLangChangeEvent.cs
- Quaternion.cs
- LabelAutomationPeer.cs
- ColumnWidthChangedEvent.cs
- Properties.cs
- UrlAuthorizationModule.cs
- TimeSpanSecondsConverter.cs
- SqlUdtInfo.cs
- WebControlParameterProxy.cs
- Message.cs
- ButtonFlatAdapter.cs
- TreeNodeClickEventArgs.cs
- MenuItemAutomationPeer.cs
- InProcStateClientManager.cs
- HostUtils.cs
- Dump.cs
- StylusPoint.cs
- BitmapSource.cs
- GenericNameHandler.cs
- PropertyValueChangedEvent.cs
- TabControl.cs
- DataGridItemCollection.cs
- DetailsViewPageEventArgs.cs
- Bind.cs
- AuthenticatedStream.cs
- _TimerThread.cs
- DescendantBaseQuery.cs
- WebPart.cs
- TransportConfigurationTypeElement.cs
- OleDbErrorCollection.cs
- Expander.cs
- CompilerResults.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- TraceFilter.cs
- XmlMtomReader.cs
- GacUtil.cs
- DataGridViewDataErrorEventArgs.cs
- PrimaryKeyTypeConverter.cs
- ImageListStreamer.cs
- IODescriptionAttribute.cs
- ThreadStartException.cs
- PropertyTab.cs
- ClientFormsAuthenticationMembershipProvider.cs
- StylusPlugInCollection.cs
- BitmapMetadataEnumerator.cs
- returneventsaver.cs
- DictionarySectionHandler.cs
- NumberFormatInfo.cs
- SignedXml.cs
- BindingContext.cs
- FrameAutomationPeer.cs
- EventToken.cs
- EmbeddedMailObject.cs
- ObjectDataSourceFilteringEventArgs.cs
- PropertyCondition.cs
- TemplateKey.cs
- PublishLicense.cs
- SourceElementsCollection.cs
- GPPOINT.cs
- SetIndexBinder.cs
- ClientUrlResolverWrapper.cs
- CacheSection.cs
- BidPrivateBase.cs
- CodeTypeMemberCollection.cs
- FixedTextBuilder.cs
- GeometryDrawing.cs
- InternalsVisibleToAttribute.cs
- TypeConverter.cs
- ImageFormatConverter.cs
- InvalidProgramException.cs
- DateTimeUtil.cs
- ObjectCloneHelper.cs
- MemberMaps.cs
- PartitionResolver.cs
- BrowserDefinitionCollection.cs
- WebServiceMethodData.cs
- CacheChildrenQuery.cs
- FigureParaClient.cs
- ArithmeticException.cs
- EncoderReplacementFallback.cs
- MinMaxParagraphWidth.cs
- StorageEndPropertyMapping.cs
- DbParameterCollectionHelper.cs
- Interop.cs
- ScrollItemProviderWrapper.cs
- XmlSiteMapProvider.cs
- HtmlElement.cs
- FloaterBaseParaClient.cs
- PropertyNames.cs
- PointLightBase.cs
- RC2.cs