Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Shared / MS / Internal / securitycriticaldata.cs / 1 / securitycriticaldata.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // This is a helper class 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. // // History: // 10/25/04 : marka 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 struct SecurityCriticalData{ /// /// Critical - as this accesses _value which is Critical. /// Safe - as the caller already got the critical value. /// [SecurityCritical, SecurityTreatAsSafe] internal SecurityCriticalData(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 class 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. // // History: // 10/25/04 : marka 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 struct SecurityCriticalData{ /// /// Critical - as this accesses _value which is Critical. /// Safe - as the caller already got the critical value. /// [SecurityCritical, SecurityTreatAsSafe] internal SecurityCriticalData(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
- SecurityException.cs
- CatalogZoneBase.cs
- KeyValuePair.cs
- XpsFixedDocumentReaderWriter.cs
- TextEndOfLine.cs
- WpfXamlLoader.cs
- BounceEase.cs
- SmtpFailedRecipientsException.cs
- OleDbRowUpdatingEvent.cs
- DotExpr.cs
- BookmarkManager.cs
- ViewBase.cs
- ApplicationInfo.cs
- DBCommandBuilder.cs
- PathFigureCollection.cs
- FormView.cs
- Message.cs
- IOException.cs
- MetadataProperty.cs
- WizardPanel.cs
- StreamGeometry.cs
- _ScatterGatherBuffers.cs
- ObjectTag.cs
- FixedTextBuilder.cs
- DrawingCollection.cs
- ContextMenuStrip.cs
- LocationInfo.cs
- querybuilder.cs
- ListViewUpdateEventArgs.cs
- AppliesToBehaviorDecisionTable.cs
- AppDomainShutdownMonitor.cs
- Setter.cs
- SqlNodeAnnotations.cs
- TemplateBuilder.cs
- DataGridViewImageCell.cs
- ParagraphResult.cs
- GlyphTypeface.cs
- ReadOnlyMetadataCollection.cs
- EventMappingSettings.cs
- SqlProcedureAttribute.cs
- DataSourceConverter.cs
- DbMetaDataCollectionNames.cs
- HighlightVisual.cs
- DynamicValidatorEventArgs.cs
- Visual3D.cs
- APCustomTypeDescriptor.cs
- Encoding.cs
- SqlClientWrapperSmiStreamChars.cs
- XmlDocumentType.cs
- GcSettings.cs
- SqlRowUpdatedEvent.cs
- GACIdentityPermission.cs
- DataErrorValidationRule.cs
- Parameter.cs
- LineUtil.cs
- SecureUICommand.cs
- EllipticalNodeOperations.cs
- ListBoxItemAutomationPeer.cs
- MimePart.cs
- MiniModule.cs
- HttpResponse.cs
- RuntimeResourceSet.cs
- StyleModeStack.cs
- ReverseQueryOperator.cs
- ZipIOExtraField.cs
- HostedTcpTransportManager.cs
- BaseTemplateParser.cs
- NativeMethods.cs
- Point3DCollectionConverter.cs
- DetailsViewUpdatedEventArgs.cs
- LinkConverter.cs
- QuadraticBezierSegment.cs
- CalendarTable.cs
- UIAgentRequest.cs
- PackWebResponse.cs
- ConfigurationManagerHelperFactory.cs
- ObjectDataProvider.cs
- ArcSegment.cs
- UIElement3D.cs
- FixedFindEngine.cs
- Int32Animation.cs
- COM2PropertyDescriptor.cs
- GrammarBuilderRuleRef.cs
- Int64Storage.cs
- Code.cs
- BitmapEffectDrawingContextState.cs
- SchemaHelper.cs
- TrackingProfileCache.cs
- SoapSchemaImporter.cs
- AsyncCompletedEventArgs.cs
- RepeaterDataBoundAdapter.cs
- TextFormatterImp.cs
- TextElementAutomationPeer.cs
- GCHandleCookieTable.cs
- OptionalColumn.cs
- Parser.cs
- SerializationFieldInfo.cs
- Internal.cs
- FamilyTypefaceCollection.cs
- MouseGestureValueSerializer.cs