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
- StringConcat.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- StructuralObject.cs
- XmlDataCollection.cs
- DataSourceView.cs
- Properties.cs
- EventMappingSettingsCollection.cs
- BevelBitmapEffect.cs
- TraceSection.cs
- TextTreeDeleteContentUndoUnit.cs
- TemplatePagerField.cs
- Control.cs
- IdentifierService.cs
- NamespaceQuery.cs
- LogEntryHeaderSerializer.cs
- SingleBodyParameterMessageFormatter.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- TypeUtil.cs
- XmlEncoding.cs
- FactoryId.cs
- SafeHandles.cs
- TextEndOfLine.cs
- _FtpDataStream.cs
- UserInitiatedNavigationPermission.cs
- ManifestResourceInfo.cs
- ProcessDesigner.cs
- WindowsTitleBar.cs
- ObjectSecurityT.cs
- MetadataArtifactLoaderCompositeFile.cs
- XmlILModule.cs
- ResourceContainer.cs
- LongAverageAggregationOperator.cs
- ItemCheckEvent.cs
- RenderCapability.cs
- ReadOnlyDictionary.cs
- InputElement.cs
- AutoGeneratedField.cs
- Version.cs
- ValidatingReaderNodeData.cs
- XmlRootAttribute.cs
- ObjectToken.cs
- KnownTypeAttribute.cs
- KeyInstance.cs
- FormClosingEvent.cs
- PageRequestManager.cs
- HtmlTextArea.cs
- SqlFactory.cs
- SplineKeyFrames.cs
- RegexInterpreter.cs
- AbstractDataSvcMapFileLoader.cs
- DependencyObject.cs
- CustomAttribute.cs
- DESCryptoServiceProvider.cs
- ExplicitDiscriminatorMap.cs
- BooleanProjectedSlot.cs
- BevelBitmapEffect.cs
- TraceUtils.cs
- StyleCollection.cs
- DataTransferEventArgs.cs
- NamespaceDisplay.xaml.cs
- StrokeCollectionDefaultValueFactory.cs
- TextureBrush.cs
- ShapingWorkspace.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- OleDbRowUpdatingEvent.cs
- DataGridViewRowStateChangedEventArgs.cs
- HttpClientProtocol.cs
- FileDialogCustomPlace.cs
- AliasedExpr.cs
- XmlSchemaSet.cs
- LineBreak.cs
- EncodingDataItem.cs
- SqlFactory.cs
- ButtonPopupAdapter.cs
- RefreshPropertiesAttribute.cs
- CompilerResults.cs
- sqlnorm.cs
- InternalPermissions.cs
- IndentTextWriter.cs
- Camera.cs
- DictionaryCustomTypeDescriptor.cs
- UIElement.cs
- BindingContext.cs
- SoapExtensionImporter.cs
- DbXmlEnabledProviderManifest.cs
- ServiceParser.cs
- BasicExpandProvider.cs
- AdornedElementPlaceholder.cs
- ClientScriptManager.cs
- ProcessHostFactoryHelper.cs
- TableLayoutCellPaintEventArgs.cs
- IPPacketInformation.cs
- FeatureSupport.cs
- Lease.cs
- CachedPathData.cs
- followingsibling.cs
- WebRequestModuleElementCollection.cs
- HighContrastHelper.cs
- GenerateTemporaryTargetAssembly.cs
- DetailsViewPageEventArgs.cs