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
- Predicate.cs
- ReachObjectContext.cs
- CodeConditionStatement.cs
- ComponentResourceKeyConverter.cs
- httpserverutility.cs
- HwndKeyboardInputProvider.cs
- Point3DCollectionValueSerializer.cs
- XsltConvert.cs
- LockCookie.cs
- SharedUtils.cs
- Point4D.cs
- CodeTypeParameterCollection.cs
- WebPartDisplayModeCollection.cs
- AuthenticationModuleElement.cs
- CaseExpr.cs
- BindingMAnagerBase.cs
- HttpFormatExtensions.cs
- PrePostDescendentsWalker.cs
- ListViewTableCell.cs
- ViewStateModeByIdAttribute.cs
- ResourceSet.cs
- NavigationProgressEventArgs.cs
- EmbeddedMailObject.cs
- MemberRelationshipService.cs
- QEncodedStream.cs
- InputScopeAttribute.cs
- UnmanagedBitmapWrapper.cs
- DataGridAddNewRow.cs
- Axis.cs
- InkPresenterAutomationPeer.cs
- SafeFileHandle.cs
- CommandConverter.cs
- Separator.cs
- SystemTcpStatistics.cs
- OdbcParameterCollection.cs
- webeventbuffer.cs
- DebuggerAttributes.cs
- TripleDESCryptoServiceProvider.cs
- CompModHelpers.cs
- PartitionResolver.cs
- CollectionEditVerbManager.cs
- QilExpression.cs
- Pair.cs
- TextElementEnumerator.cs
- AttributeCallbackBuilder.cs
- XmlValidatingReader.cs
- ParallelTimeline.cs
- DataGridViewColumnHeaderCell.cs
- OptimisticConcurrencyException.cs
- SqlAliaser.cs
- InlinedAggregationOperator.cs
- XmlNode.cs
- HitTestDrawingContextWalker.cs
- SessionPageStateSection.cs
- IdentityReference.cs
- XmlSchemaSimpleContentExtension.cs
- DataRecordInfo.cs
- CatalogZoneBase.cs
- ConfigXmlSignificantWhitespace.cs
- XmlSchemaComplexContentExtension.cs
- XmlSerializerAssemblyAttribute.cs
- GridViewColumnCollection.cs
- LinkedResource.cs
- KnownTypesProvider.cs
- CalculatedColumn.cs
- EntityDataSourceSelectedEventArgs.cs
- ConfigXmlSignificantWhitespace.cs
- ContainerParagraph.cs
- formatter.cs
- KeySplineConverter.cs
- DataSourceSelectArguments.cs
- WebPartPersonalization.cs
- NameSpaceEvent.cs
- SignatureConfirmationElement.cs
- CodeDefaultValueExpression.cs
- DataColumn.cs
- FilteredDataSetHelper.cs
- HtmlWindow.cs
- MruCache.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- TimeSpanMinutesConverter.cs
- SerializationInfo.cs
- PersonalizationProviderHelper.cs
- Bold.cs
- ZoomPercentageConverter.cs
- ValueUnavailableException.cs
- ChtmlPageAdapter.cs
- DateTimeOffset.cs
- XmlSchemaAnnotation.cs
- COM2FontConverter.cs
- XsdBuildProvider.cs
- ModuleBuilderData.cs
- FocusWithinProperty.cs
- ListViewGroupCollectionEditor.cs
- SR.cs
- ExceptionHandlers.cs
- Random.cs
- WsdlWriter.cs
- DataViewManager.cs
- NonParentingControl.cs