Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- IisTraceWebEventProvider.cs
- TrackingProfileDeserializationException.cs
- OdbcCommandBuilder.cs
- PerfCounters.cs
- DBSqlParser.cs
- ConfigXmlCDataSection.cs
- LinearQuaternionKeyFrame.cs
- TreeWalkHelper.cs
- TextTreeFixupNode.cs
- XPathDescendantIterator.cs
- CodeNamespaceCollection.cs
- EmptyCollection.cs
- ProxyElement.cs
- HttpCookiesSection.cs
- HandleRef.cs
- QilDataSource.cs
- CodeTypeReferenceExpression.cs
- ExponentialEase.cs
- CanExecuteRoutedEventArgs.cs
- HttpCookiesSection.cs
- EventEntry.cs
- ExceptionValidationRule.cs
- SqlWebEventProvider.cs
- BindingContext.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- SqlClientWrapperSmiStreamChars.cs
- ArrayItemReference.cs
- ResourceManager.cs
- BitmapFrameEncode.cs
- XmlSchemaInclude.cs
- LoaderAllocator.cs
- DbProviderManifest.cs
- _HeaderInfoTable.cs
- TextDataBindingHandler.cs
- Int32Storage.cs
- webeventbuffer.cs
- OutputCacheModule.cs
- FolderBrowserDialog.cs
- AdPostCacheSubstitution.cs
- DataPagerFieldCollection.cs
- Misc.cs
- Hyperlink.cs
- Vector3DValueSerializer.cs
- IdentitySection.cs
- DataKey.cs
- bindurihelper.cs
- WindowsFormsLinkLabel.cs
- AmbientProperties.cs
- SequentialUshortCollection.cs
- GeneralTransformGroup.cs
- CriticalHandle.cs
- NativeWindow.cs
- RIPEMD160Managed.cs
- ResourceDictionaryCollection.cs
- BindingBase.cs
- XLinq.cs
- ObjectKeyFrameCollection.cs
- DataViewManager.cs
- CursorInteropHelper.cs
- DoubleLinkListEnumerator.cs
- HashHelper.cs
- TypeDescriptionProviderAttribute.cs
- SBCSCodePageEncoding.cs
- ResourceType.cs
- DeleteMemberBinder.cs
- SettingsSavedEventArgs.cs
- userdatakeys.cs
- GacUtil.cs
- SchemaElementDecl.cs
- SessionSwitchEventArgs.cs
- ObjectDataSourceView.cs
- DataGridTablesFactory.cs
- XPathSelfQuery.cs
- HttpInputStream.cs
- ProfileSection.cs
- XmlTypeAttribute.cs
- OleDbException.cs
- IndexingContentUnit.cs
- AQNBuilder.cs
- CustomValidator.cs
- ServiceOperationParameter.cs
- AggregateNode.cs
- HttpResponse.cs
- PathData.cs
- SamlSubject.cs
- PropertyGridEditorPart.cs
- IsolatedStorage.cs
- XPathCompileException.cs
- RegexInterpreter.cs
- ThrowHelper.cs
- odbcmetadatafactory.cs
- HelpProvider.cs
- XmlSchemaImporter.cs
- DataControlCommands.cs
- X509DefaultServiceCertificateElement.cs
- XmlAttributeAttribute.cs
- XmlCharType.cs
- UriExt.cs
- BufferedGraphicsManager.cs
- ResourceDictionaryCollection.cs