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
- TdsEnums.cs
- TableItemStyle.cs
- ResourcePool.cs
- AsnEncodedData.cs
- AspNetCompatibilityRequirementsAttribute.cs
- AsynchronousChannelMergeEnumerator.cs
- CanExecuteRoutedEventArgs.cs
- ValidatorCollection.cs
- WebMessageEncodingBindingElement.cs
- TextEditorThreadLocalStore.cs
- VirtualDirectoryMapping.cs
- OleDbPropertySetGuid.cs
- EmptyWithCancelationCheckWorkItem.cs
- SemanticTag.cs
- DrawingContextWalker.cs
- XmlNavigatorStack.cs
- InternalsVisibleToAttribute.cs
- FontWeightConverter.cs
- WebBrowserHelper.cs
- ApplicationSettingsBase.cs
- XmlMapping.cs
- PreviewKeyDownEventArgs.cs
- EventRouteFactory.cs
- MsdtcWrapper.cs
- ZoneMembershipCondition.cs
- SoapSchemaMember.cs
- oledbmetadatacolumnnames.cs
- DataGridRow.cs
- HtmlImage.cs
- WebServiceMethodData.cs
- ItemMap.cs
- VectorAnimationBase.cs
- DiscreteKeyFrames.cs
- DefaultSection.cs
- CellParaClient.cs
- XmlChildNodes.cs
- DataControlButton.cs
- StringInfo.cs
- HyperLink.cs
- ResetableIterator.cs
- AndMessageFilterTable.cs
- BuildDependencySet.cs
- Int32Rect.cs
- AdCreatedEventArgs.cs
- XomlCompilerError.cs
- TextOptionsInternal.cs
- UserControlAutomationPeer.cs
- DynamicMethod.cs
- FixedTextPointer.cs
- WarningException.cs
- RichTextBox.cs
- ExpressionBinding.cs
- ThreadExceptionDialog.cs
- XmlWriter.cs
- EntityDataReader.cs
- FixedTextSelectionProcessor.cs
- UpdateRecord.cs
- OpacityConverter.cs
- ProcessModelSection.cs
- ManualResetEvent.cs
- UIElementPropertyUndoUnit.cs
- TypeUtils.cs
- SyndicationContent.cs
- PolyQuadraticBezierSegment.cs
- AlternateView.cs
- RSAOAEPKeyExchangeFormatter.cs
- CallContext.cs
- ViewSimplifier.cs
- CounterSetInstance.cs
- TypeElementCollection.cs
- HttpDictionary.cs
- AsyncCompletedEventArgs.cs
- KeySpline.cs
- WebPartDisplayModeCollection.cs
- SmiMetaData.cs
- ContainerTracking.cs
- SubclassTypeValidator.cs
- HostVisual.cs
- RepeatInfo.cs
- MethodExpr.cs
- SectionInformation.cs
- DeadLetterQueue.cs
- SemanticValue.cs
- ApplyImportsAction.cs
- GridViewDeleteEventArgs.cs
- RuleSetCollection.cs
- RoutedCommand.cs
- WaitHandleCannotBeOpenedException.cs
- AssertSection.cs
- SignedXml.cs
- PrintingPermissionAttribute.cs
- ClientClassGenerator.cs
- dsa.cs
- WebPermission.cs
- OleDbCommand.cs
- UIElementPropertyUndoUnit.cs
- XslAstAnalyzer.cs
- ConnectionManagementElement.cs
- EdmSchemaError.cs
- RemoteWebConfigurationHost.cs