Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Shared / MS / Internal / securitycriticaldata.cs / 1 / 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
- SmiContext.cs
- XPathPatternParser.cs
- TextTrailingCharacterEllipsis.cs
- SqlXmlStorage.cs
- XmlSchemaValidator.cs
- DoWorkEventArgs.cs
- PersonalizablePropertyEntry.cs
- Overlapped.cs
- Menu.cs
- IndexingContentUnit.cs
- ExtractedStateEntry.cs
- ToolStripItemImageRenderEventArgs.cs
- ProvidePropertyAttribute.cs
- QilTernary.cs
- RuleInfoComparer.cs
- StaticSiteMapProvider.cs
- Attributes.cs
- X509ChainElement.cs
- IImplicitResourceProvider.cs
- DataBindingExpressionBuilder.cs
- InvalidFilterCriteriaException.cs
- VirtualPath.cs
- DynamicUpdateCommand.cs
- ComboBoxRenderer.cs
- CustomCategoryAttribute.cs
- UserUseLicenseDictionaryLoader.cs
- EpmCustomContentWriterNodeData.cs
- SoapEnvelopeProcessingElement.cs
- MaskInputRejectedEventArgs.cs
- FontFamily.cs
- TableFieldsEditor.cs
- WebMessageFormatHelper.cs
- ObjectStateManagerMetadata.cs
- SpellCheck.cs
- OpenTypeLayoutCache.cs
- TabletCollection.cs
- XmlWriterTraceListener.cs
- Translator.cs
- WmlPhoneCallAdapter.cs
- SystemColorTracker.cs
- PersonalizationAdministration.cs
- SqlDataReaderSmi.cs
- Ref.cs
- WindowsStatic.cs
- Profiler.cs
- PersistenceParticipant.cs
- ErrorHandler.cs
- MetadataImporterQuotas.cs
- WindowsGraphics2.cs
- SpecularMaterial.cs
- SrgsRulesCollection.cs
- CodeTypeMemberCollection.cs
- IdnMapping.cs
- WindowsHyperlink.cs
- DataGridViewRowsRemovedEventArgs.cs
- ConfigurationSectionCollection.cs
- FileAuthorizationModule.cs
- unitconverter.cs
- EditorZoneDesigner.cs
- OutputCacheSettingsSection.cs
- InnerItemCollectionView.cs
- ScalarConstant.cs
- ShutDownListener.cs
- CookieParameter.cs
- TextServicesProperty.cs
- ViewPort3D.cs
- DrawItemEvent.cs
- ShaperBuffers.cs
- SHA1Managed.cs
- IteratorFilter.cs
- DebuggerAttributes.cs
- AssociationEndMember.cs
- BuildDependencySet.cs
- PartialCachingControl.cs
- PenContext.cs
- FamilyCollection.cs
- GridItemCollection.cs
- cookie.cs
- Typography.cs
- exports.cs
- TypeNameConverter.cs
- OrderedHashRepartitionEnumerator.cs
- CapabilitiesSection.cs
- DataGridCellAutomationPeer.cs
- PanelStyle.cs
- Peer.cs
- SimpleWorkerRequest.cs
- ThreadExceptionEvent.cs
- PropertyDescriptorCollection.cs
- ImageListUtils.cs
- ContextQuery.cs
- QueryPrefixOp.cs
- DataContractSet.cs
- RoutedEventConverter.cs
- TcpActivation.cs
- ByteConverter.cs
- TextBoxBase.cs
- DeviceSpecific.cs
- ImmComposition.cs
- DefaultExpression.cs