Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / securitycriticaldataClass.cs / 1305600 / 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
- InkCanvasFeedbackAdorner.cs
- ClientScriptManagerWrapper.cs
- WindowsScrollBar.cs
- SequentialUshortCollection.cs
- _NestedSingleAsyncResult.cs
- ChtmlPhoneCallAdapter.cs
- Quaternion.cs
- DispatcherExceptionEventArgs.cs
- WebPartMenuStyle.cs
- ProviderConnectionPointCollection.cs
- BypassElement.cs
- Translator.cs
- WebPartsPersonalizationAuthorization.cs
- FixedNode.cs
- PipelineModuleStepContainer.cs
- XmlILAnnotation.cs
- PenLineCapValidation.cs
- ConstrainedDataObject.cs
- OutputCacheSettingsSection.cs
- SQLInt16.cs
- InteropExecutor.cs
- X509Chain.cs
- XmlAttributeCache.cs
- ClientSettingsStore.cs
- IriParsingElement.cs
- Substitution.cs
- Compiler.cs
- Events.cs
- SiteMapNode.cs
- ListBase.cs
- Context.cs
- Pens.cs
- HijriCalendar.cs
- FilterEventArgs.cs
- MultiBinding.cs
- validation.cs
- CounterSetInstanceCounterDataSet.cs
- TableRow.cs
- ElementsClipboardData.cs
- TableLayoutSettingsTypeConverter.cs
- ApplicationInfo.cs
- XmlDictionaryString.cs
- FormViewPagerRow.cs
- PerformanceCounters.cs
- SoapEnumAttribute.cs
- SafeCryptoHandles.cs
- ServerType.cs
- DisableDpiAwarenessAttribute.cs
- TextChange.cs
- Timeline.cs
- ReplyChannel.cs
- FontWeights.cs
- ZipIOExtraFieldElement.cs
- RewritingProcessor.cs
- RenderTargetBitmap.cs
- SponsorHelper.cs
- AutomationPatternInfo.cs
- UdpSocketReceiveManager.cs
- VirtualPathUtility.cs
- TableColumn.cs
- CheckBoxStandardAdapter.cs
- CodeExpressionStatement.cs
- MeasurementDCInfo.cs
- OrderedDictionary.cs
- ExpressionQuoter.cs
- ComponentManagerBroker.cs
- FrameworkContentElement.cs
- EnumConverter.cs
- RecognizerBase.cs
- WebPartZoneCollection.cs
- RelationalExpressions.cs
- DefaultEventAttribute.cs
- XmlIlTypeHelper.cs
- ObsoleteAttribute.cs
- XmlNodeReader.cs
- FileRecordSequenceHelper.cs
- Latin1Encoding.cs
- EntityDataSourceContextDisposingEventArgs.cs
- SqlTransaction.cs
- OutputScope.cs
- IntegerFacetDescriptionElement.cs
- SchemaDeclBase.cs
- SnapshotChangeTrackingStrategy.cs
- DataRow.cs
- TransformerConfigurationWizardBase.cs
- DataGridColumnCollection.cs
- QilCloneVisitor.cs
- RegexGroup.cs
- XmlnsCompatibleWithAttribute.cs
- Rectangle.cs
- ChtmlTextWriter.cs
- TransactionScopeDesigner.cs
- DataSourceXmlClassAttribute.cs
- TextReader.cs
- CircleHotSpot.cs
- CallSiteOps.cs
- ToolStripItemTextRenderEventArgs.cs
- PropertyEmitterBase.cs
- DBConnection.cs
- DataComponentGenerator.cs