Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / securitycriticaldata.cs / 1305600 / securitycriticaldata.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // This is a helper class 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. // // History: // 10/25/04 : marka 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 struct SecurityCriticalData{ /// /// Critical - as this accesses _value which is Critical. /// Safe - as the caller already got the critical value. /// [SecurityCritical, SecurityTreatAsSafe] internal SecurityCriticalData(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 class 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. // // History: // 10/25/04 : marka 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 struct SecurityCriticalData{ /// /// Critical - as this accesses _value which is Critical. /// Safe - as the caller already got the critical value. /// [SecurityCritical, SecurityTreatAsSafe] internal SecurityCriticalData(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
- LocalsItemDescription.cs
- SafeSecurityHelper.cs
- ProxyWebPart.cs
- InputMethodStateTypeInfo.cs
- TimeoutTimer.cs
- DictionaryChange.cs
- PageAsyncTask.cs
- ValueOfAction.cs
- AutoCompleteStringCollection.cs
- RefreshPropertiesAttribute.cs
- DataView.cs
- EntryWrittenEventArgs.cs
- XmlEntity.cs
- DesignerSerializationOptionsAttribute.cs
- TcpConnectionPool.cs
- X509Certificate2.cs
- RSAPKCS1KeyExchangeFormatter.cs
- Rect3D.cs
- FileClassifier.cs
- ObjectListGeneralPage.cs
- DataSourceProvider.cs
- StringOutput.cs
- DocumentViewerHelper.cs
- SqlNodeAnnotation.cs
- IdleTimeoutMonitor.cs
- ImmutablePropertyDescriptorGridEntry.cs
- QuotedPrintableStream.cs
- MeasureItemEvent.cs
- BaseValidator.cs
- Message.cs
- EventListenerClientSide.cs
- RectAnimationBase.cs
- Delegate.cs
- CalendarButton.cs
- EditingCoordinator.cs
- BitmapImage.cs
- CriticalExceptions.cs
- PartialCachingControl.cs
- ExpressionStringBuilder.cs
- ColorMap.cs
- HttpFileCollectionBase.cs
- InfoCardUIAgent.cs
- QueryExpr.cs
- UseLicense.cs
- Inline.cs
- AcceleratedTokenProvider.cs
- MimeTypeAttribute.cs
- x509store.cs
- XmlSchemaSet.cs
- Quaternion.cs
- Serialization.cs
- ImageMetadata.cs
- SafeArrayRankMismatchException.cs
- OracleBoolean.cs
- UrlPath.cs
- InputProcessorProfilesLoader.cs
- Span.cs
- Command.cs
- StringKeyFrameCollection.cs
- _emptywebproxy.cs
- _ContextAwareResult.cs
- NullableConverter.cs
- UIElementParagraph.cs
- GridViewUpdateEventArgs.cs
- SimpleFieldTemplateFactory.cs
- ArithmeticException.cs
- util.cs
- ToolStripDropDownMenu.cs
- SqlClientWrapperSmiStreamChars.cs
- Matrix3D.cs
- x509store.cs
- IssuedTokenClientElement.cs
- CollectionViewSource.cs
- XmlSignatureManifest.cs
- ViewRendering.cs
- TableCellCollection.cs
- TerminateDesigner.cs
- OdbcCommandBuilder.cs
- IdentityReference.cs
- StandardMenuStripVerb.cs
- ProxySimple.cs
- PropertyTabChangedEvent.cs
- InteropAutomationProvider.cs
- Effect.cs
- BoolExpressionVisitors.cs
- AutoCompleteStringCollection.cs
- ConfigurationException.cs
- MetadataItemSerializer.cs
- TemplateInstanceAttribute.cs
- DefaultProxySection.cs
- SafeEventLogReadHandle.cs
- ToggleButton.cs
- SignatureToken.cs
- CustomErrorCollection.cs
- SqlReferenceCollection.cs
- ReaderContextStackData.cs
- RevocationPoint.cs
- EdmItemCollection.cs
- CustomError.cs
- FilterFactory.cs