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
- OperationAbortedException.cs
- XsdCachingReader.cs
- StaticSiteMapProvider.cs
- SchemaTypeEmitter.cs
- Grant.cs
- WebBrowserHelper.cs
- FastEncoder.cs
- ToolStripDropDownItem.cs
- XmlIncludeAttribute.cs
- CustomErrorCollection.cs
- precedingquery.cs
- PrtTicket_Base.cs
- KeyEvent.cs
- SystemMulticastIPAddressInformation.cs
- ValidationPropertyAttribute.cs
- MembershipValidatePasswordEventArgs.cs
- AdditionalEntityFunctions.cs
- FlagsAttribute.cs
- TargetInvocationException.cs
- WebPartEditorApplyVerb.cs
- RowToParametersTransformer.cs
- WorkflowOperationFault.cs
- ParentQuery.cs
- ValueUtilsSmi.cs
- HttpCacheParams.cs
- CompilationRelaxations.cs
- WebConfigurationHostFileChange.cs
- AccessibilityApplicationManager.cs
- Deserializer.cs
- TemplateControl.cs
- SystemIcons.cs
- EllipseGeometry.cs
- KerberosReceiverSecurityToken.cs
- ListViewPagedDataSource.cs
- ListDataBindEventArgs.cs
- UnmanagedMemoryAccessor.cs
- CodeBinaryOperatorExpression.cs
- SessionEndingEventArgs.cs
- VirtualPathProvider.cs
- BamlResourceDeserializer.cs
- Image.cs
- ClickablePoint.cs
- PassportPrincipal.cs
- X509DefaultServiceCertificateElement.cs
- DataGridViewSelectedCellCollection.cs
- COM2TypeInfoProcessor.cs
- PerformanceCounterPermissionEntry.cs
- HMACSHA1.cs
- figurelength.cs
- HttpServerVarsCollection.cs
- SecurityContext.cs
- ResourceDefaultValueAttribute.cs
- FtpRequestCacheValidator.cs
- AssociationTypeEmitter.cs
- DBPropSet.cs
- MimeTypeMapper.cs
- WebPartTransformer.cs
- Queue.cs
- DesignerVerb.cs
- ExpressionDumper.cs
- RangeValuePatternIdentifiers.cs
- MailBnfHelper.cs
- IndentTextWriter.cs
- XpsManager.cs
- EnumerableCollectionView.cs
- WindowsUpDown.cs
- StyleModeStack.cs
- CapabilitiesPattern.cs
- XPathItem.cs
- DES.cs
- SafeBitVector32.cs
- InternalMappingException.cs
- SystemPens.cs
- Assembly.cs
- List.cs
- DataBindingExpressionBuilder.cs
- ZipIOExtraFieldElement.cs
- OracleParameterCollection.cs
- RouteCollection.cs
- XmlEventCache.cs
- GridViewColumnCollection.cs
- ExtractorMetadata.cs
- HierarchicalDataBoundControl.cs
- MeasureData.cs
- SortDescriptionCollection.cs
- TrustManager.cs
- ElementsClipboardData.cs
- Soap11ServerProtocol.cs
- ThaiBuddhistCalendar.cs
- ValidatingReaderNodeData.cs
- SplitterPanel.cs
- TransportSecurityBindingElement.cs
- Identifier.cs
- MemoryStream.cs
- VariableAction.cs
- CachedBitmap.cs
- StyleTypedPropertyAttribute.cs
- StringBuilder.cs
- HtmlValidatorAdapter.cs
- RuleAction.cs