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
- Compiler.cs
- DataGridCommandEventArgs.cs
- EntityRecordInfo.cs
- Buffer.cs
- SetIterators.cs
- FormattedText.cs
- ObjectDataSourceStatusEventArgs.cs
- ProviderBase.cs
- MdiWindowListItemConverter.cs
- FixedPageProcessor.cs
- SizeConverter.cs
- MaterializeFromAtom.cs
- DynamicAttribute.cs
- EnumValidator.cs
- XmlStrings.cs
- Point3D.cs
- CodeObjectCreateExpression.cs
- Transform.cs
- InplaceBitmapMetadataWriter.cs
- XPathAncestorIterator.cs
- StreamUpgradeInitiator.cs
- TextTreePropertyUndoUnit.cs
- Rotation3D.cs
- OleDbReferenceCollection.cs
- WindowsIdentity.cs
- EventLogPermissionAttribute.cs
- XmlNavigatorStack.cs
- Substitution.cs
- SchemaTypeEmitter.cs
- EventRouteFactory.cs
- CatalogZoneBase.cs
- AccessedThroughPropertyAttribute.cs
- SchemaImporterExtensionElementCollection.cs
- StrokeIntersection.cs
- SqlDataAdapter.cs
- WorkflowNamespace.cs
- BindingExpression.cs
- ModelUIElement3D.cs
- MarshalDirectiveException.cs
- ResourceExpressionBuilder.cs
- XamlNamespaceHelper.cs
- TypeDescriptor.cs
- LineSegment.cs
- IconBitmapDecoder.cs
- MouseWheelEventArgs.cs
- SystemResourceHost.cs
- IgnoreFileBuildProvider.cs
- WrappingXamlSchemaContext.cs
- XmlSchemaAttributeGroup.cs
- IncrementalReadDecoders.cs
- EncodingInfo.cs
- String.cs
- StringBuilder.cs
- CodeNamespace.cs
- XmlNamespaceMapping.cs
- InnerItemCollectionView.cs
- DefaultObjectMappingItemCollection.cs
- WebResponse.cs
- BinaryParser.cs
- AbstractDataSvcMapFileLoader.cs
- TextRangeSerialization.cs
- OutputCacheModule.cs
- XmlSchemaSimpleTypeRestriction.cs
- ImplicitInputBrush.cs
- StreamGeometry.cs
- OperationParameterInfo.cs
- HitTestDrawingContextWalker.cs
- PassportAuthenticationModule.cs
- Utils.cs
- FormParameter.cs
- DeviceSpecificDialogCachedState.cs
- RegisteredArrayDeclaration.cs
- EventsTab.cs
- ConfigurationLoaderException.cs
- SourceElementsCollection.cs
- FileIOPermission.cs
- ObjectDataSource.cs
- DataServiceQueryOfT.cs
- TextDecorationCollection.cs
- PerfService.cs
- MobileControlPersister.cs
- StrongNameIdentityPermission.cs
- HtmlLink.cs
- BitmapImage.cs
- QueueNameHelper.cs
- WorkflowApplicationIdleEventArgs.cs
- GatewayIPAddressInformationCollection.cs
- BooleanToVisibilityConverter.cs
- FixedPageAutomationPeer.cs
- XmlUTF8TextReader.cs
- SchemaTableOptionalColumn.cs
- WeakReference.cs
- OptimalTextSource.cs
- Table.cs
- ConstraintConverter.cs
- Tracer.cs
- ClosureBinding.cs
- XmlDataSourceNodeDescriptor.cs
- TokenBasedSetEnumerator.cs
- ListViewInsertEventArgs.cs