Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- SmtpLoginAuthenticationModule.cs
- NewItemsContextMenuStrip.cs
- DBParameter.cs
- ObjectDataSourceMethodEditor.cs
- XPathDocumentIterator.cs
- PersianCalendar.cs
- RequestCacheManager.cs
- GridViewDeletedEventArgs.cs
- TextTreeRootNode.cs
- UpdatePanelTrigger.cs
- SQLChars.cs
- SqlCommandSet.cs
- WorkflowApplicationTerminatedException.cs
- InfoCardProofToken.cs
- AuthorizationRule.cs
- ActivityFunc.cs
- WebPartConnectionsConnectVerb.cs
- Splitter.cs
- PageContent.cs
- SelectionItemProviderWrapper.cs
- SecureEnvironment.cs
- LineMetrics.cs
- ZoneButton.cs
- ProcessThreadCollection.cs
- BaseCAMarshaler.cs
- ScrollViewerAutomationPeer.cs
- XmlSchemaImport.cs
- MenuItemCollection.cs
- CounterNameConverter.cs
- DrawingAttributeSerializer.cs
- AnnotationHighlightLayer.cs
- XPathNodeHelper.cs
- GPRECTF.cs
- ValidationRule.cs
- Focus.cs
- RoleManagerSection.cs
- ProfileManager.cs
- DesignerSerializerAttribute.cs
- ClientSettingsStore.cs
- KeyboardEventArgs.cs
- ZipIOLocalFileDataDescriptor.cs
- XPathItem.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- WmpBitmapEncoder.cs
- CustomErrorsSection.cs
- SettingsPropertyNotFoundException.cs
- VirtualPath.cs
- SqlDataSourceQueryEditorForm.cs
- XPathSingletonIterator.cs
- SecuritySessionFilter.cs
- HttpStreamXmlDictionaryReader.cs
- DataBoundLiteralControl.cs
- TableLayoutPanel.cs
- TdsParserSafeHandles.cs
- HostedImpersonationContext.cs
- WarningException.cs
- ToolStripMenuItemCodeDomSerializer.cs
- FocusManager.cs
- Single.cs
- PlatformNotSupportedException.cs
- OdbcConnectionOpen.cs
- DataGridViewColumnEventArgs.cs
- ParallelTimeline.cs
- Utils.cs
- SoapAttributeAttribute.cs
- MultiPropertyDescriptorGridEntry.cs
- SqlColumnizer.cs
- RangeValidator.cs
- MetadataSet.cs
- SqlConnection.cs
- IFormattable.cs
- AttributeInfo.cs
- CodeExporter.cs
- RemoteWebConfigurationHostServer.cs
- ExtractedStateEntry.cs
- securitymgrsite.cs
- DiscoveryDefaults.cs
- QueryCacheEntry.cs
- AmbiguousMatchException.cs
- KeyboardNavigation.cs
- BindingMAnagerBase.cs
- Run.cs
- Evidence.cs
- MarginsConverter.cs
- FontCacheLogic.cs
- X509Certificate2Collection.cs
- KeySpline.cs
- ConfigsHelper.cs
- ModelUIElement3D.cs
- ConfigurationElementProperty.cs
- Vector3DCollectionConverter.cs
- path.cs
- DocumentCollection.cs
- KeyedHashAlgorithm.cs
- PaintValueEventArgs.cs
- CompilerResults.cs
- DataPagerFieldCollection.cs
- ComponentManagerBroker.cs
- LinearGradientBrush.cs
- DataGridViewAccessibleObject.cs