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
- FormClosingEvent.cs
- DateTime.cs
- QilChoice.cs
- InfoCard.cs
- arabicshape.cs
- TdsParameterSetter.cs
- DockPattern.cs
- OneWayElement.cs
- IDispatchConstantAttribute.cs
- CodeGen.cs
- XmlElement.cs
- SocketPermission.cs
- Condition.cs
- EditorZone.cs
- ListSortDescription.cs
- AccessDataSourceDesigner.cs
- Canvas.cs
- TextTrailingWordEllipsis.cs
- ScrollData.cs
- HandledEventArgs.cs
- ByteRangeDownloader.cs
- HostedHttpRequestAsyncResult.cs
- RegexCode.cs
- InlineUIContainer.cs
- SoapClientProtocol.cs
- CultureTable.cs
- _LocalDataStore.cs
- RowParagraph.cs
- MenuItemStyleCollection.cs
- VersionPair.cs
- GenerateTemporaryTargetAssembly.cs
- PassportAuthentication.cs
- InstalledFontCollection.cs
- BaseInfoTable.cs
- RtfToXamlLexer.cs
- AsyncStreamReader.cs
- LocatorPart.cs
- ProgressPage.cs
- HtmlElementEventArgs.cs
- MultilineStringConverter.cs
- FamilyMapCollection.cs
- Pen.cs
- TypefaceMetricsCache.cs
- TextBlock.cs
- InheritanceContextChangedEventManager.cs
- CustomGrammar.cs
- TextEditorContextMenu.cs
- Misc.cs
- PerformanceCounter.cs
- mda.cs
- ContextMenu.cs
- ClassicBorderDecorator.cs
- BufferModeSettings.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- MobileControlsSectionHelper.cs
- RegexGroupCollection.cs
- HashAlgorithm.cs
- InvalidPrinterException.cs
- StreamInfo.cs
- _CookieModule.cs
- SelfSignedCertificate.cs
- BitmapScalingModeValidation.cs
- MethodExpr.cs
- SafeReversePInvokeHandle.cs
- KeyNotFoundException.cs
- SafeEventLogWriteHandle.cs
- DataGridViewCellConverter.cs
- ClientSession.cs
- Tile.cs
- MobileResource.cs
- ProtocolElement.cs
- XmlNodeComparer.cs
- DesignerView.cs
- DashStyles.cs
- KerberosSecurityTokenAuthenticator.cs
- SectionInformation.cs
- webproxy.cs
- XdrBuilder.cs
- BinaryReader.cs
- DataGridViewSelectedRowCollection.cs
- NamedPipeDuplicateContext.cs
- WebControlParameterProxy.cs
- TableAutomationPeer.cs
- TypeLibConverter.cs
- SessionPageStatePersister.cs
- MailDefinitionBodyFileNameEditor.cs
- DataSourceXmlSerializer.cs
- TemplateXamlTreeBuilder.cs
- Renderer.cs
- WpfKnownType.cs
- OperationFormatStyle.cs
- RegexGroupCollection.cs
- VectorCollection.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- IsolatedStorage.cs
- WebColorConverter.cs
- XpsSerializationException.cs
- Vector3DCollectionValueSerializer.cs
- PenLineCapValidation.cs
- CompatibleIComparer.cs