Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / TrustUi / MS / Internal / documents / Application / FileDocument.cs / 1 / FileDocument.cs
//------------------------------------------------------------------------------ //// Copyright (C) Microsoft Corporation. All rights reserved. // //// Extends StreamDocument with CriticalFileTokens for use by FileController // FilePresentation and DocumentStream. // // // History: // 08/28/2005: [....]: Initial implementation. //----------------------------------------------------------------------------- using System; using System.IO; using System.Security; namespace MS.Internal.Documents.Application { ////// Extends StreamDocument with CriticalFileTokens for use by FileController /// FilePresentation and DocumentStream. /// internal class FileDocument : StreamDocument{ #region Constructors //------------------------------------------------------------------------- // Constructors //------------------------------------------------------------------------- #if DRT /// /// Constructs a FileDocument allowing for a dependency. Null can be used /// if there are none. /// /// The Document this object depends on. internal FileDocument(Document dependency) : base(dependency) { } #endif ////// Will construct a FileDocument with no dependency. /// /// The file token to use for this document. ////// Critical: /// - accesses _sourceFile, _desinationToken /// TreatAsSafe: /// - safe by defination for _sourcefile /// [SecurityCritical, SecurityTreatAsSafe] public FileDocument(CriticalFileToken fileToken) : base(null) { _sourceToken = fileToken; } ////// Will construct a FileDocument with no dependency. /// /// The existing stream to use for this document. /// ////// Critical: /// - we are setting the target stream to read from /// NotSafe: /// - we do not know the source of the stream /// [SecurityCritical] public FileDocument(Stream existing) : base(null) { SourceProxy = DocumentStream.Open(existing); } #endregion Constructors #region Internal Properties //-------------------------------------------------------------------------- // Internal Properties //------------------------------------------------------------------------- ////// Returns the file token to use for saving this document. /// ////// Critical: /// - get & sets the _destinationToken /// internal CriticalFileToken DestinationToken { [SecurityCritical] get { return _destinationToken; } [SecurityCritical] set { _destinationToken = value; } } ////// Returns the file token to use for opening this document. /// ////// Critical: /// - gets the _fileToken /// internal CriticalFileToken SourceToken { [SecurityCritical] get { return _sourceToken; } } ////// When true the source and destination should be swapped on SaveCommit. /// internal bool SwapDestination { get { return _swapFile; } set { _swapFile = value; } } #endregion Internal Properties #region Private Fields //-------------------------------------------------------------------------- // Private Fields //-------------------------------------------------------------------------- ////// /// The comparee document we will save to. /// ////// Critical: /// - we do not want to leak the token /// [SecurityCritical] private CriticalFileToken _destinationToken; ////// The source document we represent. /// ////// Critical: /// - we do not want to leak the token /// - it is only safe to set once for the object /// [SecurityCritical] private CriticalFileToken _sourceToken; private bool _swapFile; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompensationHandlingFilter.cs
- IISMapPath.cs
- SqlServer2KCompatibilityCheck.cs
- SectionUpdates.cs
- ProcessStartInfo.cs
- BlobPersonalizationState.cs
- httpapplicationstate.cs
- TableAdapterManagerGenerator.cs
- TypeElement.cs
- ThrowHelper.cs
- CorePropertiesFilter.cs
- DescendantBaseQuery.cs
- ResourceType.cs
- DoubleConverter.cs
- RequestResizeEvent.cs
- SamlConstants.cs
- CellCreator.cs
- TextServicesContext.cs
- ReadOnlyMetadataCollection.cs
- DelegateInArgument.cs
- ToolboxComponentsCreatingEventArgs.cs
- WebPartConnection.cs
- ExpressionVisitor.cs
- FontResourceCache.cs
- processwaithandle.cs
- EntityClientCacheEntry.cs
- JsonDataContract.cs
- Figure.cs
- BinaryObjectReader.cs
- exports.cs
- CustomActivityDesigner.cs
- UIElement3D.cs
- URI.cs
- MDIWindowDialog.cs
- DeviceContexts.cs
- RowType.cs
- ObjectListDesigner.cs
- Parallel.cs
- CqlGenerator.cs
- EncryptedXml.cs
- DataStreamFromComStream.cs
- InvalidPropValue.cs
- ListViewItemCollectionEditor.cs
- RectValueSerializer.cs
- PopOutPanel.cs
- NamespaceDecl.cs
- CaretElement.cs
- RawAppCommandInputReport.cs
- CannotUnloadAppDomainException.cs
- CodeChecksumPragma.cs
- ToolStripSplitStackLayout.cs
- TimelineGroup.cs
- DataGridViewRowsAddedEventArgs.cs
- StringReader.cs
- PrintEvent.cs
- QilDataSource.cs
- Pair.cs
- Context.cs
- OLEDB_Enum.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- MemoryRecordBuffer.cs
- PrinterResolution.cs
- Boolean.cs
- ExtendedProtectionPolicy.cs
- FontCacheUtil.cs
- TransportBindingElementImporter.cs
- FileDialogCustomPlace.cs
- MimeObjectFactory.cs
- Permission.cs
- ScriptManager.cs
- _HeaderInfo.cs
- SecurityContext.cs
- MulticastDelegate.cs
- ConnectionStringSettingsCollection.cs
- CommentAction.cs
- ProxyGenerator.cs
- InstanceLockException.cs
- SqlCommandSet.cs
- CodePrimitiveExpression.cs
- XmlSchemaFacet.cs
- DateTimePicker.cs
- RectangleConverter.cs
- ToolStripSeparator.cs
- Pair.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- PrinterUnitConvert.cs
- ValueHandle.cs
- WSSecurityPolicy12.cs
- TriState.cs
- StickyNoteAnnotations.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- StrokeNodeEnumerator.cs
- HandledMouseEvent.cs
- DesignTimeVisibleAttribute.cs
- WindowsAuthenticationModule.cs
- TaskHelper.cs
- Tracking.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- FrameDimension.cs
- XmlNode.cs