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
- util.cs
- CellPartitioner.cs
- LicFileLicenseProvider.cs
- ObjectViewListener.cs
- EventEntry.cs
- SharedStatics.cs
- MultipartContentParser.cs
- WebPartManager.cs
- Selection.cs
- MainMenu.cs
- UserControl.cs
- FontWeight.cs
- ConnectionProviderAttribute.cs
- ListViewItem.cs
- Convert.cs
- MenuStrip.cs
- CLRBindingWorker.cs
- IItemContainerGenerator.cs
- RsaSecurityTokenParameters.cs
- SQLChars.cs
- StyleSheetComponentEditor.cs
- AlignmentYValidation.cs
- LifetimeServices.cs
- WindowsRichEdit.cs
- ChannelSinkStacks.cs
- InvokeCompletedEventArgs.cs
- PasswordTextContainer.cs
- NetworkInterface.cs
- _SSPISessionCache.cs
- XmlSchemaInclude.cs
- TypeForwardedToAttribute.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- BrowserInteropHelper.cs
- MetadataHelper.cs
- RepeatInfo.cs
- XPathLexer.cs
- GeneralTransform3DGroup.cs
- ToolStripProgressBar.cs
- LinkClickEvent.cs
- HandleRef.cs
- ConfigurationManagerHelper.cs
- NamespaceImport.cs
- SQLSingle.cs
- CacheForPrimitiveTypes.cs
- Error.cs
- namescope.cs
- BindingGroup.cs
- WindowsEditBoxRange.cs
- ControlCachePolicy.cs
- NaturalLanguageHyphenator.cs
- PointConverter.cs
- SQLInt32.cs
- Table.cs
- DataKey.cs
- ELinqQueryState.cs
- ToolstripProfessionalRenderer.cs
- BitmapData.cs
- HebrewNumber.cs
- DiscoveryDocument.cs
- WriteableBitmap.cs
- AnnotationResourceCollection.cs
- PropertyTabAttribute.cs
- OlePropertyStructs.cs
- ScriptRegistrationManager.cs
- PageContent.cs
- PreApplicationStartMethodAttribute.cs
- FileLevelControlBuilderAttribute.cs
- RepeaterCommandEventArgs.cs
- DES.cs
- BitmapEncoder.cs
- BroadcastEventHelper.cs
- TrackingServices.cs
- _IPv4Address.cs
- UIPropertyMetadata.cs
- PersonalizationStateInfo.cs
- MsmqIntegrationBindingCollectionElement.cs
- ConnectionManagementSection.cs
- Ray3DHitTestResult.cs
- Dump.cs
- TableRow.cs
- DropShadowEffect.cs
- XmlSchemaImport.cs
- PointCollection.cs
- EmptyEnumerator.cs
- Path.cs
- DefaultTextStoreTextComposition.cs
- SafeEventLogReadHandle.cs
- InheritanceUI.cs
- WorkflowInstanceAbortedRecord.cs
- ExpanderAutomationPeer.cs
- GridViewEditEventArgs.cs
- BypassElementCollection.cs
- XmlException.cs
- ScrollItemProviderWrapper.cs
- Pts.cs
- TextTrailingCharacterEllipsis.cs
- PackagingUtilities.cs
- CustomErrorsSection.cs
- CmsInterop.cs
- GreenMethods.cs