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
- httpapplicationstate.cs
- handlecollector.cs
- ServerTooBusyException.cs
- FormViewInsertEventArgs.cs
- SystemIPGlobalStatistics.cs
- SafeFileMappingHandle.cs
- DbInsertCommandTree.cs
- CommunicationException.cs
- SafeNativeMethods.cs
- TileModeValidation.cs
- QuadraticEase.cs
- XmlHierarchicalEnumerable.cs
- XmlWrappingReader.cs
- CatalogPartChrome.cs
- WebHttpSecurity.cs
- HostedHttpContext.cs
- DesignerActionListCollection.cs
- MailAddress.cs
- XmlAnyElementAttributes.cs
- NetworkInformationPermission.cs
- SafeNativeMethodsCLR.cs
- CodeSnippetCompileUnit.cs
- PrtTicket_Base.cs
- AndMessageFilterTable.cs
- DataBoundControlAdapter.cs
- XmlSchemaSimpleTypeList.cs
- DataGrid.cs
- RegexStringValidator.cs
- Int32CollectionValueSerializer.cs
- ResXResourceSet.cs
- VirtualizingPanel.cs
- DataSourceControl.cs
- InvalidComObjectException.cs
- EnumerableRowCollection.cs
- OrderingInfo.cs
- IdleTimeoutMonitor.cs
- TripleDESCryptoServiceProvider.cs
- AssemblyNameUtility.cs
- ErrorWrapper.cs
- Single.cs
- CompilationUnit.cs
- HtmlInputFile.cs
- ArraySortHelper.cs
- CalendarButton.cs
- ConsumerConnectionPointCollection.cs
- StorageEndPropertyMapping.cs
- _BaseOverlappedAsyncResult.cs
- ContextMenu.cs
- DecoratedNameAttribute.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- AssemblyHash.cs
- ScriptReferenceEventArgs.cs
- IndexerReference.cs
- OleDbWrapper.cs
- FileDialogPermission.cs
- DataSourceHelper.cs
- formatter.cs
- RPIdentityRequirement.cs
- HtmlFormParameterReader.cs
- GroupItemAutomationPeer.cs
- X509AsymmetricSecurityKey.cs
- WindowsGrip.cs
- SplineKeyFrames.cs
- XmlValidatingReaderImpl.cs
- TcpServerChannel.cs
- ShellProvider.cs
- IdentityNotMappedException.cs
- PhysicalAddress.cs
- ConfigurationStrings.cs
- WebPartMenuStyle.cs
- Label.cs
- BatchStream.cs
- CompareValidator.cs
- CLRBindingWorker.cs
- __ComObject.cs
- Symbol.cs
- SqlDeflator.cs
- Menu.cs
- TablePattern.cs
- AsyncOperationManager.cs
- StrongName.cs
- StrokeSerializer.cs
- FormatVersion.cs
- PropertyValueUIItem.cs
- BamlTreeMap.cs
- FlowLayout.cs
- LabelDesigner.cs
- ClosableStream.cs
- Metadata.cs
- ImageButton.cs
- baseshape.cs
- GC.cs
- BufferedOutputAsyncStream.cs
- Visual3D.cs
- SafePEFileHandle.cs
- RestHandler.cs
- DetailsViewModeEventArgs.cs
- ChannelToken.cs
- DataGridTableCollection.cs
- TargetConverter.cs