Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- PartialTrustVisibleAssembly.cs
- StringInfo.cs
- FeedUtils.cs
- NamespaceInfo.cs
- SqlParameterizer.cs
- PersonalizableAttribute.cs
- SoapSchemaExporter.cs
- ConstantExpression.cs
- StaticSiteMapProvider.cs
- PiiTraceSource.cs
- SectionUpdates.cs
- TaskFileService.cs
- DataGridViewCellStyleConverter.cs
- XmlObjectSerializerReadContextComplex.cs
- DecimalConstantAttribute.cs
- StateFinalizationDesigner.cs
- MenuCommand.cs
- GroupQuery.cs
- PageMediaType.cs
- PropertyPathWorker.cs
- ShellProvider.cs
- StaticTextPointer.cs
- ToolboxItemAttribute.cs
- TextRunProperties.cs
- LingerOption.cs
- ViewStateModeByIdAttribute.cs
- AnnotationStore.cs
- InlineUIContainer.cs
- ViewValidator.cs
- SqlBinder.cs
- OrderByQueryOptionExpression.cs
- DataGridViewColumnDesigner.cs
- XmlSerializerFactory.cs
- ProtocolsInstallComponent.cs
- BasicExpandProvider.cs
- ImageButton.cs
- TypeUtils.cs
- CodeStatement.cs
- InvalidComObjectException.cs
- TemplatedMailWebEventProvider.cs
- DataFormats.cs
- WrapPanel.cs
- log.cs
- ProxyWebPartManagerDesigner.cs
- MissingFieldException.cs
- CacheAxisQuery.cs
- LocalClientSecuritySettingsElement.cs
- ErasingStroke.cs
- RegexCapture.cs
- ImageMapEventArgs.cs
- PeerContact.cs
- SamlAudienceRestrictionCondition.cs
- ConfigPathUtility.cs
- StreamingContext.cs
- ToolStripPanelSelectionBehavior.cs
- StylusPointProperty.cs
- ScaleTransform3D.cs
- SqlDataSourceStatusEventArgs.cs
- DataGridViewBindingCompleteEventArgs.cs
- BufferedStream.cs
- _HTTPDateParse.cs
- FixedBufferAttribute.cs
- GridErrorDlg.cs
- OutOfProcStateClientManager.cs
- ListViewGroupItemCollection.cs
- ServicePointManager.cs
- ProxyWebPart.cs
- SignatureHelper.cs
- GroupStyle.cs
- Int16Animation.cs
- _SafeNetHandles.cs
- WebGetAttribute.cs
- QuotedPairReader.cs
- BCLDebug.cs
- ServerIdentity.cs
- UrlPath.cs
- SelectionPattern.cs
- WebPartDeleteVerb.cs
- ChangeNode.cs
- DbgCompiler.cs
- NativeObjectSecurity.cs
- WeakReadOnlyCollection.cs
- CodeVariableReferenceExpression.cs
- RoleGroupCollection.cs
- StrongNameIdentityPermission.cs
- RelationshipManager.cs
- Part.cs
- PasswordRecovery.cs
- TrustLevel.cs
- TemplateLookupAction.cs
- ToolStripPanel.cs
- MimeReflector.cs
- Activity.cs
- HttpCapabilitiesBase.cs
- HttpInputStream.cs
- InstanceNotReadyException.cs
- SuppressMessageAttribute.cs
- WebServicesInteroperability.cs
- ServicePointManagerElement.cs
- DrawToolTipEventArgs.cs