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
- Point4D.cs
- XmlSubtreeReader.cs
- ViewSimplifier.cs
- TimeIntervalCollection.cs
- sqlcontext.cs
- streamingZipPartStream.cs
- Baml2006KnownTypes.cs
- RegexNode.cs
- DecoratedNameAttribute.cs
- RowVisual.cs
- TypeListConverter.cs
- WebPartConnectVerb.cs
- DynamicResourceExtension.cs
- ReadOnlyHierarchicalDataSource.cs
- _SslStream.cs
- RoleServiceManager.cs
- sqlmetadatafactory.cs
- AsymmetricSignatureDeformatter.cs
- SynchronizingStream.cs
- CodeIdentifier.cs
- EntityDataSourceWizardForm.cs
- HttpSocketManager.cs
- ListViewGroupConverter.cs
- CodeTypeReferenceCollection.cs
- AlternateViewCollection.cs
- TrayIconDesigner.cs
- SystemTcpConnection.cs
- MenuAutomationPeer.cs
- SQLConvert.cs
- _IPv6Address.cs
- TableLayoutCellPaintEventArgs.cs
- EventToken.cs
- ConfigurationManagerHelperFactory.cs
- NullableDoubleMinMaxAggregationOperator.cs
- Evidence.cs
- ContainerTracking.cs
- ReferenceEqualityComparer.cs
- DigitalSignatureProvider.cs
- MailAddress.cs
- DynamicRendererThreadManager.cs
- WindowsStatic.cs
- CodeGenerator.cs
- DataDesignUtil.cs
- UnsafeNativeMethods.cs
- StylusEventArgs.cs
- WindowVisualStateTracker.cs
- ProjectedSlot.cs
- DataObjectFieldAttribute.cs
- SoundPlayer.cs
- CompositeCollectionView.cs
- AnnotationHighlightLayer.cs
- RectangleGeometry.cs
- ContextMarshalException.cs
- CodeFieldReferenceExpression.cs
- WsdlHelpGeneratorElement.cs
- DataBindingCollectionEditor.cs
- CodeCommentStatementCollection.cs
- Delay.cs
- SpotLight.cs
- PhysicalAddress.cs
- DynamicDocumentPaginator.cs
- LogPolicy.cs
- MetadataUtil.cs
- NotifyIcon.cs
- FormViewAutoFormat.cs
- MsmqReceiveHelper.cs
- SignatureDescription.cs
- HwndSourceKeyboardInputSite.cs
- CodeCatchClauseCollection.cs
- HtmlAnchor.cs
- AdornerDecorator.cs
- PathGradientBrush.cs
- AssociationTypeEmitter.cs
- UrlMapping.cs
- RangeBase.cs
- EnumType.cs
- Stroke2.cs
- IdentityReference.cs
- XmlHierarchyData.cs
- XmlElementList.cs
- TargetConverter.cs
- PixelFormats.cs
- HttpProcessUtility.cs
- _NetworkingPerfCounters.cs
- SuspendDesigner.cs
- AttributeXamlType.cs
- KnownBoxes.cs
- ClientSideQueueItem.cs
- _Connection.cs
- MediaCommands.cs
- Soap12FormatExtensions.cs
- RegexCompiler.cs
- SvcMapFile.cs
- CellParagraph.cs
- FormViewInsertedEventArgs.cs
- DataGridItemEventArgs.cs
- OciHandle.cs
- Mappings.cs
- AnnotationStore.cs
- SqlMethodCallConverter.cs