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
- ContentAlignmentEditor.cs
- PaintEvent.cs
- Hash.cs
- FixedSOMContainer.cs
- AttachedPropertyBrowsableAttribute.cs
- DetailsViewInsertedEventArgs.cs
- FormsAuthenticationCredentials.cs
- QueryCacheEntry.cs
- NamedPipeTransportBindingElement.cs
- PreviewKeyDownEventArgs.cs
- COM2IPerPropertyBrowsingHandler.cs
- KoreanCalendar.cs
- SafeProcessHandle.cs
- WindowsSpinner.cs
- WebBrowserDesigner.cs
- SettingsPropertyIsReadOnlyException.cs
- CollectionViewGroupRoot.cs
- ProtocolViolationException.cs
- SortQuery.cs
- SubqueryTrackingVisitor.cs
- Geometry.cs
- BinHexEncoder.cs
- KeyTime.cs
- ActivityDesigner.cs
- EntitySqlQueryBuilder.cs
- SoapInteropTypes.cs
- GPPOINTF.cs
- InteropAutomationProvider.cs
- TextServicesManager.cs
- RemoteWebConfigurationHost.cs
- RequestQueryProcessor.cs
- CommandID.cs
- ZipIOExtraField.cs
- TextControlDesigner.cs
- NullableIntMinMaxAggregationOperator.cs
- KeyEvent.cs
- DataGridViewCellCollection.cs
- precedingquery.cs
- PrivateFontCollection.cs
- LassoHelper.cs
- AnnotationStore.cs
- TemplatedWizardStep.cs
- MergeExecutor.cs
- RoleBoolean.cs
- HtmlInputRadioButton.cs
- HttpCacheVaryByContentEncodings.cs
- XmlNamespaceManager.cs
- DesignTable.cs
- RegexCode.cs
- Semaphore.cs
- ExpressionVisitorHelpers.cs
- PassportAuthenticationModule.cs
- ExpressionHelper.cs
- X509CertificateCollection.cs
- RegexWorker.cs
- ToolStripPanelRow.cs
- MiniAssembly.cs
- lengthconverter.cs
- MergeFilterQuery.cs
- HttpFileCollection.cs
- ObfuscateAssemblyAttribute.cs
- DeploymentExceptionMapper.cs
- GridViewRowPresenterBase.cs
- CaseStatementProjectedSlot.cs
- DocumentViewer.cs
- DataTemplateSelector.cs
- NamedPipeAppDomainProtocolHandler.cs
- TextEditorParagraphs.cs
- OletxEnlistment.cs
- SolidColorBrush.cs
- HttpException.cs
- HttpAsyncResult.cs
- clipboard.cs
- Helpers.cs
- XmlAggregates.cs
- MessageContractImporter.cs
- XmlLangPropertyAttribute.cs
- DataSourceCacheDurationConverter.cs
- WinOEToolBoxItem.cs
- KeyValueSerializer.cs
- OdbcCommandBuilder.cs
- KeyConverter.cs
- FormViewInsertEventArgs.cs
- exports.cs
- PlatformCulture.cs
- GlyphElement.cs
- Padding.cs
- SizeChangedEventArgs.cs
- MultiBinding.cs
- AssemblyUtil.cs
- InheritedPropertyChangedEventArgs.cs
- RegularExpressionValidator.cs
- Certificate.cs
- webeventbuffer.cs
- ServicePointManager.cs
- Serializer.cs
- TransformCollection.cs
- XmlDeclaration.cs
- PeerTransportListenAddressValidatorAttribute.cs
- translator.cs