Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Shared / MS / Internal / securitycriticaldataClass.cs / 1 / securitycriticaldataClass.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // This is a helper struct to facilate the storage of Security critical data ( aka "Plutonium") // It's primary purpose is to do put a [SecurityCritical] on all access to the data. // // What is "critical data" ? This is any data created that required an Assert for it's creation. // As an example - the creation of an HwndWrapper during Dispatcher.Attach. // The current implementation requires the consumer to use the data member only if IsValid is true // // History: // 10/25/05 : akaza Created. // //--------------------------------------------------------------------------- using System ; using System.Security ; #if WINDOWS_BASE using MS.Internal.WindowsBase; #elif PRESENTATION_CORE using MS.Internal.PresentationCore; #elif PRESENTATIONFRAMEWORK using MS.Internal.PresentationFramework; #elif DRT using MS.Internal.Drt; #else #error Attempt to use FriendAccessAllowedAttribute from an unknown assembly. using MS.Internal.YourAssemblyName; #endif namespace MS.Internal { [FriendAccessAllowed] internal class SecurityCriticalDataClass{ /// /// Critical - as this accesses _value which is Critical. /// Safe - as the caller already got the critical value. /// [SecurityCritical, SecurityTreatAsSafe] internal SecurityCriticalDataClass(T value) { _value = value; } //// Critical "by definition" - this class is intended only to store critical data. // internal T Value { [SecurityCritical] get { return _value; } } ////// Critical - by definition as this is a wrapper for Critical data. /// [SecurityCritical] private T _value; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // This is a helper struct to facilate the storage of Security critical data ( aka "Plutonium") // It's primary purpose is to do put a [SecurityCritical] on all access to the data. // // What is "critical data" ? This is any data created that required an Assert for it's creation. // As an example - the creation of an HwndWrapper during Dispatcher.Attach. // The current implementation requires the consumer to use the data member only if IsValid is true // // History: // 10/25/05 : akaza Created. // //--------------------------------------------------------------------------- using System ; using System.Security ; #if WINDOWS_BASE using MS.Internal.WindowsBase; #elif PRESENTATION_CORE using MS.Internal.PresentationCore; #elif PRESENTATIONFRAMEWORK using MS.Internal.PresentationFramework; #elif DRT using MS.Internal.Drt; #else #error Attempt to use FriendAccessAllowedAttribute from an unknown assembly. using MS.Internal.YourAssemblyName; #endif namespace MS.Internal { [FriendAccessAllowed] internal class SecurityCriticalDataClass{ /// /// Critical - as this accesses _value which is Critical. /// Safe - as the caller already got the critical value. /// [SecurityCritical, SecurityTreatAsSafe] internal SecurityCriticalDataClass(T value) { _value = value; } //// Critical "by definition" - this class is intended only to store critical data. // internal T Value { [SecurityCritical] get { return _value; } } ////// Critical - by definition as this is a wrapper for Critical data. /// [SecurityCritical] private T _value; } } // 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
- RequestCachePolicy.cs
- Freezable.cs
- Bind.cs
- Array.cs
- Transform.cs
- PropertyOrder.cs
- PeerInvitationResponse.cs
- ImmutableAssemblyCacheEntry.cs
- CachedResourceDictionaryExtension.cs
- SmtpDateTime.cs
- Sql8ExpressionRewriter.cs
- AppDomainProtocolHandler.cs
- NotifyIcon.cs
- FontStyle.cs
- XmlChoiceIdentifierAttribute.cs
- PersistChildrenAttribute.cs
- TypeDescriptionProviderAttribute.cs
- FlowNode.cs
- ZipFileInfoCollection.cs
- SchemaInfo.cs
- QueryIntervalOp.cs
- Pointer.cs
- HyperLinkDesigner.cs
- ServiceHttpHandlerFactory.cs
- ExpressionWriter.cs
- DaylightTime.cs
- ElementProxy.cs
- OleDbErrorCollection.cs
- DocumentSequenceHighlightLayer.cs
- HashSetDebugView.cs
- CompilerError.cs
- StreamUpgradeAcceptor.cs
- MailDefinition.cs
- XmlWrappingReader.cs
- DataGridViewBand.cs
- IChannel.cs
- UnmanagedMemoryStreamWrapper.cs
- PartitionResolver.cs
- ConfigsHelper.cs
- GeneralTransform3DCollection.cs
- IndexerNameAttribute.cs
- TableCellCollection.cs
- XomlCompilerHelpers.cs
- SystemPens.cs
- TerminatorSinks.cs
- DocumentXmlWriter.cs
- SqlServer2KCompatibilityAnnotation.cs
- ConfigurationElement.cs
- ValidatorUtils.cs
- SpecialFolderEnumConverter.cs
- ColumnResult.cs
- COAUTHINFO.cs
- ValueUtilsSmi.cs
- InputBuffer.cs
- ParseHttpDate.cs
- EntryWrittenEventArgs.cs
- DeclarativeConditionsCollection.cs
- SecurityKeyIdentifierClause.cs
- HtmlControlAdapter.cs
- ControlBindingsCollection.cs
- SerializationAttributes.cs
- SQLString.cs
- RectAnimation.cs
- RowUpdatedEventArgs.cs
- RenderDataDrawingContext.cs
- LinkButton.cs
- TypographyProperties.cs
- Repeater.cs
- LogLogRecord.cs
- BaseTemplateCodeDomTreeGenerator.cs
- CharacterString.cs
- UpWmlPageAdapter.cs
- EntityParameter.cs
- XslVisitor.cs
- HtmlLinkAdapter.cs
- OpCellTreeNode.cs
- CmsInterop.cs
- WebExceptionStatus.cs
- ThicknessKeyFrameCollection.cs
- DynamicResourceExtension.cs
- UIElementHelper.cs
- RegionData.cs
- ByteConverter.cs
- StubHelpers.cs
- EventLogEntry.cs
- SystemIcmpV6Statistics.cs
- RTLAwareMessageBox.cs
- PromptStyle.cs
- XmlNodeList.cs
- SqlParameterCollection.cs
- RegisteredScript.cs
- WindowsStatusBar.cs
- ObjectToIdCache.cs
- DefaultAutoFieldGenerator.cs
- DependencyObject.cs
- XmlSchemaExternal.cs
- NotFiniteNumberException.cs
- WebPartConnectionsCloseVerb.cs
- DependencyPropertyDescriptor.cs
- MsmqIntegrationAppDomainProtocolHandler.cs