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
- Journaling.cs
- DecoderReplacementFallback.cs
- Native.cs
- CustomPopupPlacement.cs
- Trace.cs
- WebEncodingValidator.cs
- PermissionAttributes.cs
- DataSourceCache.cs
- XamlPoint3DCollectionSerializer.cs
- DataFieldConverter.cs
- DynamicPropertyHolder.cs
- RectAnimationBase.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- CatalogZone.cs
- RegexCompiler.cs
- SyndicationPerson.cs
- ConsoleEntryPoint.cs
- WebZone.cs
- OperatingSystem.cs
- ConfigurationSection.cs
- QueryProcessor.cs
- XmlSerializerVersionAttribute.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- CompositeControl.cs
- TableCellCollection.cs
- PreProcessor.cs
- XmlJsonReader.cs
- SimpleWorkerRequest.cs
- MsmqHostedTransportManager.cs
- SoapProcessingBehavior.cs
- DynamicPropertyHolder.cs
- TextRangeProviderWrapper.cs
- WindowsUpDown.cs
- ColorConvertedBitmap.cs
- FlowDocumentPage.cs
- ConfigXmlSignificantWhitespace.cs
- TypeConverterHelper.cs
- OrderPreservingSpoolingTask.cs
- SymmetricKeyWrap.cs
- TraceSection.cs
- XamlStream.cs
- HttpWriter.cs
- InfoCardCryptoHelper.cs
- MatrixTransform3D.cs
- ZipIOExtraFieldPaddingElement.cs
- AccessibleObject.cs
- ImageButton.cs
- SQLByte.cs
- ToolStripDropDownItem.cs
- MultiBindingExpression.cs
- ViewValidator.cs
- sqlser.cs
- Serializer.cs
- TCPClient.cs
- HostingEnvironmentSection.cs
- WindowsSpinner.cs
- EntityContainerAssociationSet.cs
- Int32Rect.cs
- OperatingSystem.cs
- PackageRelationshipCollection.cs
- SafeHandles.cs
- AnonymousIdentificationSection.cs
- Margins.cs
- SqlDependency.cs
- InputManager.cs
- SymDocumentType.cs
- BrowserCapabilitiesFactory.cs
- ConnectionStringsExpressionEditor.cs
- ByteStorage.cs
- ResourceLoader.cs
- VideoDrawing.cs
- WsdlBuildProvider.cs
- EventDescriptor.cs
- RNGCryptoServiceProvider.cs
- ObjectNavigationPropertyMapping.cs
- ExtenderProvidedPropertyAttribute.cs
- VariantWrapper.cs
- ListView.cs
- XPathSelfQuery.cs
- WebBrowserUriTypeConverter.cs
- RepeatEnumerable.cs
- SingleStorage.cs
- DecimalConverter.cs
- XmlValidatingReader.cs
- ContentPlaceHolder.cs
- UserUseLicenseDictionaryLoader.cs
- OperationResponse.cs
- StrokeNodeEnumerator.cs
- HttpHandlersInstallComponent.cs
- IdnElement.cs
- DisableDpiAwarenessAttribute.cs
- HandlerBase.cs
- ProxyAttribute.cs
- TabControl.cs
- NameTable.cs
- PropertyCondition.cs
- SemanticResultValue.cs
- httpstaticobjectscollection.cs
- ToolStripRenderer.cs
- PointAnimationClockResource.cs