Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / IO / MemoryMappedFiles / MemoryMappedViewStream.cs / 1305376 / MemoryMappedViewStream.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: MemoryMappedViewStream ** ** Purpose: View stream for managed MemoryMappedFiles. ** ** Date: February 7, 2007 ** ===========================================================*/ using System; using System.Diagnostics; using System.Security.Permissions; using Microsoft.Win32.SafeHandles; namespace System.IO.MemoryMappedFiles { public sealed class MemoryMappedViewStream : UnmanagedMemoryStream { private MemoryMappedView m_view; //// [System.Security.SecurityCritical] internal unsafe MemoryMappedViewStream(MemoryMappedView view) { Debug.Assert(view != null, "view is null"); m_view = view; Initialize(m_view.ViewHandle, m_view.PointerOffset, m_view.Size, MemoryMappedFile.GetFileAccess(m_view.Access)); } public SafeMemoryMappedViewHandle SafeMemoryMappedViewHandle { //// // [System.Security.SecurityCritical] [SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)] get { return m_view != null ? m_view.ViewHandle : null; } } public override void SetLength(long value) { throw new NotSupportedException(SR.GetString(SR.NotSupported_MMViewStreamsFixedLength)); } //// // [System.Security.SecurityCritical] protected override void Dispose(bool disposing) { try { if (disposing && m_view != null && !m_view.IsClosed) { Flush(); } } finally { try { if (m_view != null) { m_view.Dispose(); } } finally { base.Dispose(disposing); } } } // Flushes the changes such that they are in [....] with the FileStream bits (ones obtained // with the win32 ReadFile and WriteFile functions). Need to call FileStream's Flush to // flush to the disk. // NOTE: This will flush all bytes before and after the view up until an offset that is a // multiple of SystemPageSize. //// // [System.Security.SecurityCritical] public override void Flush() { if (!CanSeek) { __Error.StreamIsClosed(); } unsafe { if (m_view != null) { m_view.Flush((IntPtr)Capacity); } } } } } // 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
- KeyManager.cs
- XmlSerializationWriter.cs
- DockingAttribute.cs
- DescendantBaseQuery.cs
- cookieexception.cs
- ProviderBase.cs
- SmtpAuthenticationManager.cs
- WindowsTitleBar.cs
- KeyGestureValueSerializer.cs
- AssemblyUtil.cs
- FontDriver.cs
- Camera.cs
- ConnectionPoint.cs
- DataGridTablesFactory.cs
- ObjectStateEntry.cs
- StringFreezingAttribute.cs
- TheQuery.cs
- SystemIPAddressInformation.cs
- FontFaceLayoutInfo.cs
- SelectionWordBreaker.cs
- TransformGroup.cs
- KeyValueSerializer.cs
- IsolatedStorageFile.cs
- DataBindingCollectionEditor.cs
- TemplateBamlRecordReader.cs
- DataControlImageButton.cs
- References.cs
- TextTreeExtractElementUndoUnit.cs
- VectorKeyFrameCollection.cs
- FileChangeNotifier.cs
- SiteMapNodeCollection.cs
- InputMethod.cs
- OleDbEnumerator.cs
- XmlMemberMapping.cs
- DispatchWrapper.cs
- SynthesizerStateChangedEventArgs.cs
- Timeline.cs
- EditorBrowsableAttribute.cs
- Utils.cs
- DefaultSerializationProviderAttribute.cs
- WebServiceHost.cs
- RealProxy.cs
- AnnotationAuthorChangedEventArgs.cs
- ExpressionBindingCollection.cs
- mactripleDES.cs
- SqlOuterApplyReducer.cs
- PinnedBufferMemoryStream.cs
- httpstaticobjectscollection.cs
- FrameworkPropertyMetadata.cs
- HttpGetClientProtocol.cs
- XmlReaderSettings.cs
- ExternalException.cs
- WebBrowser.cs
- Control.cs
- Base64Decoder.cs
- COAUTHIDENTITY.cs
- ServiceManager.cs
- PriorityRange.cs
- TabItemAutomationPeer.cs
- NameObjectCollectionBase.cs
- UserNamePasswordServiceCredential.cs
- Span.cs
- HtmlPanelAdapter.cs
- WindowsUserNameCachingSecurityTokenAuthenticator.cs
- BindingList.cs
- QueuePathDialog.cs
- MemberRelationshipService.cs
- CopyAttributesAction.cs
- CollectionType.cs
- CompressEmulationStream.cs
- InputMethodStateChangeEventArgs.cs
- ScopeElement.cs
- CodeBinaryOperatorExpression.cs
- StorageEntityTypeMapping.cs
- WmlTextViewAdapter.cs
- OpenFileDialog.cs
- SchemaImporterExtensionElement.cs
- ImageCodecInfoPrivate.cs
- ServicePrincipalNameElement.cs
- XmlSchemaAnnotated.cs
- Ops.cs
- ToolStripPanel.cs
- HashCodeCombiner.cs
- ZoneButton.cs
- SimpleExpression.cs
- SynchronizationHandlesCodeDomSerializer.cs
- SiteMapHierarchicalDataSourceView.cs
- MachineKeyValidationConverter.cs
- HtmlElementErrorEventArgs.cs
- ListBindableAttribute.cs
- MatrixCamera.cs
- ConsumerConnectionPoint.cs
- EntityDataSourceStatementEditor.cs
- DrawTreeNodeEventArgs.cs
- AuthStoreRoleProvider.cs
- HtmlPageAdapter.cs
- DrawingBrush.cs
- SqlBuilder.cs
- AudienceUriMode.cs
- CollectionChangedEventManager.cs