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
- ByteAnimationBase.cs
- RepeaterItemEventArgs.cs
- Lease.cs
- BitVector32.cs
- ImageCodecInfoPrivate.cs
- DesignerProperties.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- RowsCopiedEventArgs.cs
- MsmqOutputMessage.cs
- IsolationInterop.cs
- DrawingAttributesDefaultValueFactory.cs
- CodeMemberProperty.cs
- ServiceModelPerformanceCounters.cs
- DictionarySurrogate.cs
- MachineSettingsSection.cs
- ListBox.cs
- CalendarSelectionChangedEventArgs.cs
- TextElement.cs
- BufferedStream2.cs
- XmlSchemaAll.cs
- TaskHelper.cs
- SynchronizationLockException.cs
- PriorityBinding.cs
- EventLogEntry.cs
- MD5HashHelper.cs
- SurrogateEncoder.cs
- ToolbarAUtomationPeer.cs
- FilteredAttributeCollection.cs
- Registry.cs
- AccessedThroughPropertyAttribute.cs
- MonitorWrapper.cs
- HierarchicalDataBoundControlAdapter.cs
- TemplateBindingExpression.cs
- CacheForPrimitiveTypes.cs
- Point4DValueSerializer.cs
- CultureSpecificCharacterBufferRange.cs
- RuleProcessor.cs
- RestHandlerFactory.cs
- ScrollContentPresenter.cs
- FlowDocumentReader.cs
- XPathLexer.cs
- SAPIEngineTypes.cs
- ParameterCollection.cs
- MemberCollection.cs
- ParameterBinding.cs
- webeventbuffer.cs
- DoubleAnimationClockResource.cs
- ResourceDictionary.cs
- DatasetMethodGenerator.cs
- CommonRemoteMemoryBlock.cs
- FusionWrap.cs
- KerberosTokenFactoryCredential.cs
- ProxyWebPartManager.cs
- FileDialog.cs
- remotingproxy.cs
- ToolStripRendererSwitcher.cs
- XamlInt32CollectionSerializer.cs
- StorageEntitySetMapping.cs
- DrawingAttributes.cs
- TimeoutException.cs
- TagMapInfo.cs
- CodeGenerationManager.cs
- FormViewPagerRow.cs
- DBCommandBuilder.cs
- ToolStripLocationCancelEventArgs.cs
- FixedPageStructure.cs
- ClientTargetSection.cs
- LinqDataSourceUpdateEventArgs.cs
- AppDomainAttributes.cs
- SafeHandle.cs
- ZipIOExtraFieldPaddingElement.cs
- CssTextWriter.cs
- SamlSecurityToken.cs
- OleDbErrorCollection.cs
- ObjectListDesigner.cs
- DispatcherEventArgs.cs
- PanelStyle.cs
- ImageFormatConverter.cs
- StylusEditingBehavior.cs
- ApplicationTrust.cs
- XmlC14NWriter.cs
- SoapExtensionReflector.cs
- SplitContainerDesigner.cs
- AffineTransform3D.cs
- FontFamily.cs
- GeneralTransform3DCollection.cs
- HotSpot.cs
- FixedSOMPage.cs
- ContentControl.cs
- CorrelationManager.cs
- SafeNativeMethods.cs
- MenuBindingsEditorForm.cs
- PrintPreviewControl.cs
- AddInDeploymentState.cs
- HwndSubclass.cs
- UpDownBase.cs
- SignatureToken.cs
- ToolStripArrowRenderEventArgs.cs
- DefaultParameterValueAttribute.cs
- ArraySortHelper.cs