Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- StringArrayConverter.cs
- FamilyTypeface.cs
- CodeTypeParameterCollection.cs
- IODescriptionAttribute.cs
- Delegate.cs
- WindowInteractionStateTracker.cs
- RefreshEventArgs.cs
- DataGridViewCellMouseEventArgs.cs
- NativeMethodsOther.cs
- CodeCastExpression.cs
- SqlServices.cs
- HtmlInputControl.cs
- StrokeRenderer.cs
- CaretElement.cs
- x509store.cs
- ComponentEvent.cs
- RectConverter.cs
- SQLInt32.cs
- TextSegment.cs
- SettingsSavedEventArgs.cs
- AssertHelper.cs
- CellTreeNodeVisitors.cs
- AssemblyResourceLoader.cs
- RSAPKCS1SignatureFormatter.cs
- RequestTimeoutManager.cs
- WebPartAuthorizationEventArgs.cs
- ImageMapEventArgs.cs
- BindingEntityInfo.cs
- ChunkedMemoryStream.cs
- TreeBuilderBamlTranslator.cs
- XmlBindingWorker.cs
- QueryCacheKey.cs
- nulltextcontainer.cs
- DoubleUtil.cs
- XmlRawWriter.cs
- SqlException.cs
- CompilationRelaxations.cs
- HandlerFactoryWrapper.cs
- SrgsDocument.cs
- XmlValidatingReader.cs
- AnonymousIdentificationSection.cs
- GAC.cs
- UnsettableComboBox.cs
- HwndStylusInputProvider.cs
- CategoryGridEntry.cs
- ReferenceSchema.cs
- SqlDataSourceStatusEventArgs.cs
- ScriptingProfileServiceSection.cs
- DataGridColumnHeaderCollection.cs
- DBSqlParserColumnCollection.cs
- CellCreator.cs
- ComPersistableTypeElementCollection.cs
- InternalsVisibleToAttribute.cs
- LinkLabel.cs
- SeekStoryboard.cs
- LocalizabilityAttribute.cs
- MetadataItemSerializer.cs
- PinProtectionHelper.cs
- FocusManager.cs
- XmlUtilWriter.cs
- EditableTreeList.cs
- X509Certificate2.cs
- CustomAttribute.cs
- SymmetricAlgorithm.cs
- TableRowsCollectionEditor.cs
- AuthenticationConfig.cs
- RuleConditionDialog.cs
- SecurityContextKeyIdentifierClause.cs
- PixelFormats.cs
- ComponentRenameEvent.cs
- PartitionedStream.cs
- RawUIStateInputReport.cs
- SqlMetaData.cs
- _PooledStream.cs
- X509CertificateValidationMode.cs
- ConnectionProviderAttribute.cs
- lengthconverter.cs
- TextTreeInsertUndoUnit.cs
- NativeMethods.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DetailsViewUpdateEventArgs.cs
- TextBreakpoint.cs
- ConstantProjectedSlot.cs
- HtmlTextBoxAdapter.cs
- SessionIDManager.cs
- ElementUtil.cs
- DataProtection.cs
- FreezableOperations.cs
- RootBuilder.cs
- DecimalKeyFrameCollection.cs
- ClientEventManager.cs
- ScrollItemPatternIdentifiers.cs
- DependencyPropertyDescriptor.cs
- TextEditorSelection.cs
- XamlInt32CollectionSerializer.cs
- Opcode.cs
- TimeSpanValidator.cs
- ColorAnimationBase.cs
- ParameterCollection.cs
- BoundPropertyEntry.cs