Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / securitycriticaldataClass.cs / 1305600 / 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
- ViewBox.cs
- SqlServices.cs
- XmlTextReaderImpl.cs
- ColorKeyFrameCollection.cs
- EdgeProfileValidation.cs
- PartialCachingControl.cs
- ErrorHandler.cs
- ObjectDataSourceDisposingEventArgs.cs
- Knowncolors.cs
- DataBoundControlHelper.cs
- Comparer.cs
- DataServiceClientException.cs
- SqlInfoMessageEvent.cs
- KnownTypeAttribute.cs
- SecurityCriticalDataForSet.cs
- UnitySerializationHolder.cs
- SpecialFolderEnumConverter.cs
- ResourceReader.cs
- TextTreeRootNode.cs
- backend.cs
- Attributes.cs
- NotifyParentPropertyAttribute.cs
- CategoryAttribute.cs
- MethodImplAttribute.cs
- WorkflowRuntimeEndpoint.cs
- SafeFileMapViewHandle.cs
- OdbcUtils.cs
- HttpGetProtocolReflector.cs
- DataTemplateKey.cs
- WorkflowElementDialog.cs
- InfoCardSchemas.cs
- HtmlImageAdapter.cs
- DesignerActionGlyph.cs
- MULTI_QI.cs
- QuaternionValueSerializer.cs
- DoubleLinkListEnumerator.cs
- ListBoxChrome.cs
- ConstantSlot.cs
- ChannelSinkStacks.cs
- XmlAttributeCollection.cs
- DataServiceRequest.cs
- XmlSchemaObject.cs
- StaticFileHandler.cs
- DecoratedNameAttribute.cs
- PTConverter.cs
- XmlTextAttribute.cs
- XmlSchemas.cs
- QuaternionRotation3D.cs
- TypedTableGenerator.cs
- HttpCookiesSection.cs
- WindowClosedEventArgs.cs
- CustomErrorCollection.cs
- InvalidFilterCriteriaException.cs
- FixedSOMImage.cs
- QuaternionAnimationBase.cs
- ProcessThread.cs
- Registry.cs
- TextBox.cs
- PropertyCollection.cs
- MappingModelBuildProvider.cs
- NoneExcludedImageIndexConverter.cs
- CalendarButtonAutomationPeer.cs
- StyleBamlRecordReader.cs
- SubclassTypeValidator.cs
- TagMapCollection.cs
- TrustManager.cs
- StorageMappingItemLoader.cs
- ReturnValue.cs
- AssertFilter.cs
- itemelement.cs
- DragDeltaEventArgs.cs
- InstanceOwner.cs
- OleDbCommandBuilder.cs
- Quaternion.cs
- _SpnDictionary.cs
- UITypeEditor.cs
- FixedBufferAttribute.cs
- FileAuthorizationModule.cs
- CollectionBuilder.cs
- SqlExpander.cs
- InternalDispatchObject.cs
- SqlCommand.cs
- RecommendedAsConfigurableAttribute.cs
- FormView.cs
- ScaleTransform.cs
- HMACMD5.cs
- SetStateEventArgs.cs
- ChildChangedEventArgs.cs
- SerialPinChanges.cs
- FormsAuthenticationModule.cs
- PolicyStatement.cs
- PropertyDescriptorComparer.cs
- DynamicILGenerator.cs
- parserscommon.cs
- DbgUtil.cs
- BrowserTree.cs
- ServerValidateEventArgs.cs
- CommonGetThemePartSize.cs
- HttpCapabilitiesSectionHandler.cs
- HwndHostAutomationPeer.cs