Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- ExceptionUtility.cs
- InputLangChangeRequestEvent.cs
- UTF8Encoding.cs
- IPAddress.cs
- OdbcConnectionHandle.cs
- PerspectiveCamera.cs
- HtmlControlPersistable.cs
- TcpProcessProtocolHandler.cs
- ConfigurationPropertyCollection.cs
- RelationshipConverter.cs
- CheckStoreFileValidityRequest.cs
- DefaultTypeArgumentAttribute.cs
- figurelengthconverter.cs
- ipaddressinformationcollection.cs
- RecognizedWordUnit.cs
- Label.cs
- FileSystemInfo.cs
- InitializerFacet.cs
- DataGridComponentEditor.cs
- StandardToolWindows.cs
- FlowDocument.cs
- StylusPointProperties.cs
- DefaultAutoFieldGenerator.cs
- TextTreeUndo.cs
- OrthographicCamera.cs
- TailPinnedEventArgs.cs
- HttpListenerPrefixCollection.cs
- filewebresponse.cs
- TextContainer.cs
- XPathConvert.cs
- CapabilitiesState.cs
- SymLanguageType.cs
- WeakReferenceEnumerator.cs
- HttpDictionary.cs
- ConstNode.cs
- ToRequest.cs
- XPathNode.cs
- DocumentOrderQuery.cs
- HttpModuleCollection.cs
- Semaphore.cs
- IndexOutOfRangeException.cs
- QueryServiceConfigHandle.cs
- DelegatedStream.cs
- ConstructorNeedsTagAttribute.cs
- FamilyCollection.cs
- Expression.cs
- RegexCaptureCollection.cs
- DefaultWorkflowTransactionService.cs
- HierarchicalDataTemplate.cs
- WizardPanelChangingEventArgs.cs
- WizardStepBase.cs
- BitmapEffectRenderDataResource.cs
- SessionEndingEventArgs.cs
- AdministrationHelpers.cs
- CalendarSelectionChangedEventArgs.cs
- CLSCompliantAttribute.cs
- SystemIcmpV6Statistics.cs
- ExpandoObject.cs
- CounterCreationDataCollection.cs
- IndexedEnumerable.cs
- NavigationService.cs
- TextParagraphCache.cs
- AvtEvent.cs
- ErrorItem.cs
- GroupBoxAutomationPeer.cs
- DataBoundLiteralControl.cs
- DataGridItem.cs
- IPipelineRuntime.cs
- HtmlInputButton.cs
- ContainerActivationHelper.cs
- WebPartEventArgs.cs
- Int64AnimationBase.cs
- TextTreeDeleteContentUndoUnit.cs
- SessionStateUtil.cs
- SchemaInfo.cs
- Permission.cs
- entityreference_tresulttype.cs
- DbXmlEnabledProviderManifest.cs
- MessageSecurityProtocol.cs
- DynamicEntity.cs
- SubclassTypeValidatorAttribute.cs
- TextBounds.cs
- WinEventWrap.cs
- DateTimeOffset.cs
- StringFreezingAttribute.cs
- CodeBlockBuilder.cs
- NamespaceQuery.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- XamlPoint3DCollectionSerializer.cs
- SqlGenerator.cs
- TypeGeneratedEventArgs.cs
- IndicCharClassifier.cs
- ToolStripItemEventArgs.cs
- FormViewDesigner.cs
- Component.cs
- GeneralTransform3D.cs
- MessageEnumerator.cs
- FilterEventArgs.cs
- GacUtil.cs
- BinaryUtilClasses.cs