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
- StyleSelector.cs
- TableLayoutColumnStyleCollection.cs
- RegexMatch.cs
- TextAnchor.cs
- BamlLocalizer.cs
- TemplateBindingExpressionConverter.cs
- InvalidPropValue.cs
- DataGridTextBox.cs
- CapabilitiesRule.cs
- ServicePointManagerElement.cs
- DoubleLink.cs
- TextPattern.cs
- RangeValueProviderWrapper.cs
- FixedFlowMap.cs
- SelectiveScrollingGrid.cs
- DbParameterHelper.cs
- XPathItem.cs
- CacheDependency.cs
- X509CertificateStore.cs
- Roles.cs
- WrapPanel.cs
- XmlCompatibilityReader.cs
- WebPartDescriptionCollection.cs
- RegularExpressionValidator.cs
- Wildcard.cs
- FlowDocumentReader.cs
- BuildProvider.cs
- SmiEventSink_Default.cs
- XPathPatternParser.cs
- DesignerActionMethodItem.cs
- JournalEntry.cs
- DelegateHelpers.cs
- ETagAttribute.cs
- WebPartDescription.cs
- TrustSection.cs
- MouseButtonEventArgs.cs
- RemoteX509AsymmetricSecurityKey.cs
- RepeaterCommandEventArgs.cs
- FixedSOMGroup.cs
- ButtonRenderer.cs
- RuleSettings.cs
- RuntimeCompatibilityAttribute.cs
- RuleSettings.cs
- HtmlForm.cs
- CalendarDateRange.cs
- EntityContainer.cs
- IndexingContentUnit.cs
- TargetParameterCountException.cs
- ImageMapEventArgs.cs
- ToolStripDropDownClosedEventArgs.cs
- Animatable.cs
- HandlerBase.cs
- DockPanel.cs
- ExpanderAutomationPeer.cs
- RunClient.cs
- PropertyGridEditorPart.cs
- BufferAllocator.cs
- EntryPointNotFoundException.cs
- SpAudioStreamWrapper.cs
- RenderingBiasValidation.cs
- BaseParser.cs
- control.ime.cs
- SafeHandles.cs
- InlinedAggregationOperator.cs
- EntityDescriptor.cs
- DragDrop.cs
- RawStylusInputCustomDataList.cs
- CombinedGeometry.cs
- TopClause.cs
- MulticastOption.cs
- CancelEventArgs.cs
- SoapObjectWriter.cs
- SafeCryptContextHandle.cs
- RelationshipFixer.cs
- MobileTextWriter.cs
- DataGridViewMethods.cs
- CompositeDataBoundControl.cs
- SmtpNetworkElement.cs
- wgx_sdk_version.cs
- UIntPtr.cs
- WebUtil.cs
- RegexReplacement.cs
- WsiProfilesElement.cs
- CustomErrorCollection.cs
- DataGridViewCellEventArgs.cs
- CubicEase.cs
- DiagnosticsConfiguration.cs
- FolderLevelBuildProvider.cs
- CellTreeNodeVisitors.cs
- TraceUtility.cs
- KoreanCalendar.cs
- DependencyProperty.cs
- DiscoveryDocumentLinksPattern.cs
- InternalControlCollection.cs
- SystemFonts.cs
- FaultCode.cs
- XmlSchemaGroup.cs
- DescendantBaseQuery.cs
- FontSizeConverter.cs
- MouseGestureConverter.cs