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 / 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
- ProxyAttribute.cs
- CompModHelpers.cs
- RadioButtonList.cs
- Int32Rect.cs
- DataGridTextBoxColumn.cs
- DataGridPageChangedEventArgs.cs
- HtmlShim.cs
- WebBrowser.cs
- AnimationClockResource.cs
- ObjectAnimationBase.cs
- MethodBuilderInstantiation.cs
- cookiecollection.cs
- MergePropertyDescriptor.cs
- BackgroundFormatInfo.cs
- WsdlBuildProvider.cs
- LabelLiteral.cs
- OleDbMetaDataFactory.cs
- PathFigureCollection.cs
- InvalidFilterCriteriaException.cs
- ChannelFactoryBase.cs
- MimeImporter.cs
- SQLSingle.cs
- DataPointer.cs
- DbReferenceCollection.cs
- IndexedString.cs
- ZoomPercentageConverter.cs
- RegistrationServices.cs
- SchemaCollectionPreprocessor.cs
- XmlEntity.cs
- DateRangeEvent.cs
- DictionaryBase.cs
- StrongTypingException.cs
- AppDomainManager.cs
- CanonicalizationDriver.cs
- SqlDataSourceCommandEventArgs.cs
- BookmarkList.cs
- SmiConnection.cs
- SHA512Managed.cs
- RightsManagementEncryptionTransform.cs
- TabItem.cs
- UidPropertyAttribute.cs
- AssemblyAttributes.cs
- TemplateXamlTreeBuilder.cs
- SolidColorBrush.cs
- RepeatButtonAutomationPeer.cs
- ImageMapEventArgs.cs
- HttpCookie.cs
- WebPartConnectionsDisconnectVerb.cs
- CodeDelegateInvokeExpression.cs
- URLBuilder.cs
- KeyboardNavigation.cs
- Parser.cs
- DataContext.cs
- NonSerializedAttribute.cs
- FieldNameLookup.cs
- AnnotationResourceCollection.cs
- SmtpReplyReader.cs
- arc.cs
- ObsoleteAttribute.cs
- BrushMappingModeValidation.cs
- ActiveXContainer.cs
- DesigntimeLicenseContext.cs
- ObjectAssociationEndMapping.cs
- SqlRowUpdatingEvent.cs
- InputLanguageCollection.cs
- ErrorFormatterPage.cs
- AssemblyNameProxy.cs
- FlatButtonAppearance.cs
- RegexWorker.cs
- SchemaElementDecl.cs
- ItemCollection.cs
- WebPartCloseVerb.cs
- DisableDpiAwarenessAttribute.cs
- WebServiceErrorEvent.cs
- Separator.cs
- XmlQueryType.cs
- XmlStreamNodeWriter.cs
- RemoteWebConfigurationHost.cs
- OleCmdHelper.cs
- BamlMapTable.cs
- StorageComplexPropertyMapping.cs
- Pair.cs
- TypeGenericEnumerableViewSchema.cs
- SchemaImporterExtension.cs
- Bitmap.cs
- MethodCallExpression.cs
- RunClient.cs
- RowCache.cs
- WebServiceResponseDesigner.cs
- RecordManager.cs
- securestring.cs
- HttpCacheParams.cs
- PropertyInformation.cs
- XmlUtil.cs
- RpcCryptoContext.cs
- GridViewDeletedEventArgs.cs
- XhtmlBasicListAdapter.cs
- ConstraintConverter.cs
- UpdateCommand.cs
- InvalidDataException.cs