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
- Ipv6Element.cs
- WebServicesSection.cs
- LoginStatusDesigner.cs
- entityreference_tresulttype.cs
- TabItem.cs
- Triplet.cs
- FtpWebRequest.cs
- DirectionalLight.cs
- SmtpReplyReader.cs
- SatelliteContractVersionAttribute.cs
- WeakRefEnumerator.cs
- PostBackOptions.cs
- InstalledFontCollection.cs
- Camera.cs
- HtmlInputImage.cs
- LinearGradientBrush.cs
- IDQuery.cs
- IMembershipProvider.cs
- XmlNodeChangedEventArgs.cs
- Tablet.cs
- ExtentCqlBlock.cs
- SerializationStore.cs
- GlyphTypeface.cs
- RegistryPermission.cs
- HttpValueCollection.cs
- TabControl.cs
- autovalidator.cs
- Comparer.cs
- RPIdentityRequirement.cs
- EmptyQuery.cs
- SoapSchemaImporter.cs
- ProfileSettings.cs
- X509CertificateClaimSet.cs
- PointCollection.cs
- ContextStaticAttribute.cs
- OleDbPropertySetGuid.cs
- XmlWhitespace.cs
- Viewport3DAutomationPeer.cs
- Rect3DConverter.cs
- SelectorItemAutomationPeer.cs
- ReplyAdapterChannelListener.cs
- OdbcConnectionOpen.cs
- XmlTypeAttribute.cs
- XsdCachingReader.cs
- ArraySubsetEnumerator.cs
- OutOfMemoryException.cs
- XhtmlStyleClass.cs
- BaseUriHelper.cs
- EntityProviderServices.cs
- ResponseBodyWriter.cs
- ConcurrencyMode.cs
- VersionedStreamOwner.cs
- DigestTraceRecordHelper.cs
- CodeAccessPermission.cs
- TranslateTransform3D.cs
- APCustomTypeDescriptor.cs
- SHA512.cs
- DataGridViewCellStateChangedEventArgs.cs
- ComUdtElement.cs
- Model3DCollection.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- SQLGuid.cs
- Int64KeyFrameCollection.cs
- TransactionOptions.cs
- BitHelper.cs
- NoPersistProperty.cs
- ListSortDescription.cs
- UriSection.cs
- EntityCommand.cs
- OdbcConnection.cs
- ConnectionConsumerAttribute.cs
- StreamReader.cs
- IsolatedStorageFileStream.cs
- PreservationFileReader.cs
- DataShape.cs
- XPathSelectionIterator.cs
- NamespaceListProperty.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- BoundColumn.cs
- XmlNodeChangedEventArgs.cs
- ImportedPolicyConversionContext.cs
- ColumnResizeUndoUnit.cs
- EntityViewContainer.cs
- WinFormsComponentEditor.cs
- SystemIPGlobalProperties.cs
- MasterPageParser.cs
- ControllableStoryboardAction.cs
- CompilationUtil.cs
- GridViewCommandEventArgs.cs
- BaseProcessProtocolHandler.cs
- GridViewDeletedEventArgs.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- MouseWheelEventArgs.cs
- JsonQNameDataContract.cs
- ByteKeyFrameCollection.cs
- EastAsianLunisolarCalendar.cs
- DataGridAddNewRow.cs
- DataGridAddNewRow.cs
- DefaultWorkflowLoaderService.cs
- HttpApplication.cs