Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / securitycriticaldataClass.cs / 1305600 / 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
- SectionVisual.cs
- _ListenerResponseStream.cs
- wgx_commands.cs
- ProfessionalColors.cs
- Byte.cs
- DataProviderNameConverter.cs
- TableLayoutSettings.cs
- BreakSafeBase.cs
- WebBrowserHelper.cs
- ZipIOModeEnforcingStream.cs
- InputProcessorProfiles.cs
- ClientRuntime.cs
- AttributeTable.cs
- MonthCalendar.cs
- CodeAttributeArgumentCollection.cs
- XamlContextStack.cs
- PathGradientBrush.cs
- TreeNodeConverter.cs
- IndexerNameAttribute.cs
- Privilege.cs
- PrintPageEvent.cs
- CommandID.cs
- UrlMapping.cs
- CodeAttributeArgument.cs
- CharKeyFrameCollection.cs
- Set.cs
- EffectiveValueEntry.cs
- RoutingExtension.cs
- WorkflowElementDialog.cs
- CroppedBitmap.cs
- DPTypeDescriptorContext.cs
- PersonalizationAdministration.cs
- TypeElement.cs
- HierarchicalDataSourceIDConverter.cs
- PerfService.cs
- DataPagerField.cs
- UTF8Encoding.cs
- ClientRuntimeConfig.cs
- SessionStateItemCollection.cs
- PropertyGroupDescription.cs
- IISUnsafeMethods.cs
- RemoteWebConfigurationHostStream.cs
- EngineSite.cs
- RectValueSerializer.cs
- XmlILIndex.cs
- Validator.cs
- DateTimeUtil.cs
- LinkedList.cs
- InputBuffer.cs
- VectorAnimationBase.cs
- SystemTcpStatistics.cs
- ExcCanonicalXml.cs
- Clipboard.cs
- WebBrowserContainer.cs
- ConstructorExpr.cs
- RenderTargetBitmap.cs
- TextSelectionHelper.cs
- CacheAxisQuery.cs
- MimeBasePart.cs
- ProgressBar.cs
- ParallelEnumerableWrapper.cs
- Facet.cs
- ReliableChannelListener.cs
- RequestQueue.cs
- DataGridViewComboBoxEditingControl.cs
- TraceSection.cs
- ListControl.cs
- FileDialogCustomPlacesCollection.cs
- ToolStripContainerDesigner.cs
- CompatibleComparer.cs
- CacheDependency.cs
- DataPointer.cs
- URLMembershipCondition.cs
- GradientStop.cs
- DesignerVerb.cs
- URL.cs
- DefaultPropertyAttribute.cs
- MouseWheelEventArgs.cs
- CompoundFileIOPermission.cs
- InvokePattern.cs
- StatusBarDrawItemEvent.cs
- LayoutTable.cs
- ActiveXContainer.cs
- Utilities.cs
- BufferedGraphics.cs
- FormViewUpdateEventArgs.cs
- CompositionTarget.cs
- WaitHandle.cs
- AuthorizationSection.cs
- QuaternionIndependentAnimationStorage.cs
- Vector.cs
- DataSetMappper.cs
- dsa.cs
- SendActivityDesigner.cs
- WebServiceReceiveDesigner.cs
- SafeRightsManagementPubHandle.cs
- XmlSchemaAttribute.cs
- SymLanguageVendor.cs
- BamlMapTable.cs
- PackUriHelper.cs