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
- FontStyle.cs
- FixedSOMGroup.cs
- DocumentPageViewAutomationPeer.cs
- TextEndOfLine.cs
- GenericWebPart.cs
- BamlLocalizationDictionary.cs
- BaseCAMarshaler.cs
- OutOfMemoryException.cs
- Wizard.cs
- StorageAssociationTypeMapping.cs
- EditorZone.cs
- ISAPIWorkerRequest.cs
- Point4DConverter.cs
- IERequestCache.cs
- CompositionDesigner.cs
- SqlNotificationEventArgs.cs
- RowsCopiedEventArgs.cs
- XmlSchemaImporter.cs
- ServiceOperation.cs
- TemplateBamlTreeBuilder.cs
- RootBrowserWindowProxy.cs
- ExpressionNode.cs
- NullableDoubleMinMaxAggregationOperator.cs
- VoiceObjectToken.cs
- PopupControlService.cs
- SqlReferenceCollection.cs
- SyndicationSerializer.cs
- OleDbException.cs
- URLString.cs
- fixedPageContentExtractor.cs
- StoreAnnotationsMap.cs
- RuntimeEnvironment.cs
- ThrowOnMultipleAssignment.cs
- TagNameToTypeMapper.cs
- RecognizedPhrase.cs
- Rectangle.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- ListBoxItem.cs
- ControlBindingsCollection.cs
- TraceUtility.cs
- EntryWrittenEventArgs.cs
- LassoSelectionBehavior.cs
- RefType.cs
- NonBatchDirectoryCompiler.cs
- ScriptComponentDescriptor.cs
- DecimalKeyFrameCollection.cs
- FixedBufferAttribute.cs
- GlobalizationAssembly.cs
- GradientStop.cs
- ReferenceConverter.cs
- TableStyle.cs
- PageResolution.cs
- Localizer.cs
- DatagridviewDisplayedBandsData.cs
- HasCopySemanticsAttribute.cs
- KeyInfo.cs
- LineGeometry.cs
- ToolZoneDesigner.cs
- DesignerValidationSummaryAdapter.cs
- ScopeCompiler.cs
- HTMLTextWriter.cs
- PasswordRecovery.cs
- ActivityBuilder.cs
- LongCountAggregationOperator.cs
- FactoryGenerator.cs
- Matrix3D.cs
- ResourcePermissionBaseEntry.cs
- XmlMtomReader.cs
- SafeHandles.cs
- ServiceElement.cs
- RIPEMD160Managed.cs
- WriterOutput.cs
- FontResourceCache.cs
- RelationshipDetailsRow.cs
- OracleConnectionStringBuilder.cs
- ErrorStyle.cs
- NavigationEventArgs.cs
- BaseDataList.cs
- RegexCaptureCollection.cs
- ObjectReaderCompiler.cs
- SizeAnimation.cs
- CalendarDesigner.cs
- Variable.cs
- InputProcessorProfiles.cs
- EtwTrace.cs
- ManipulationCompletedEventArgs.cs
- Query.cs
- CompilerResults.cs
- AutomationPatternInfo.cs
- ToolTip.cs
- ProfilePropertySettingsCollection.cs
- ToolBarButton.cs
- NamespaceMapping.cs
- ArraySegment.cs
- ParserHooks.cs
- ExpressionNormalizer.cs
- MenuItemBindingCollection.cs
- BamlBinaryReader.cs
- WebBrowserHelper.cs
- BitmapEffectDrawing.cs