Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DataGridViewRowsAddedEventArgs.cs
- MailWriter.cs
- Model3D.cs
- MessageSmuggler.cs
- MouseGestureConverter.cs
- ReplacementText.cs
- DateTimeConstantAttribute.cs
- ErrorHandler.cs
- ThousandthOfEmRealDoubles.cs
- JsonSerializer.cs
- EmitterCache.cs
- UidPropertyAttribute.cs
- WizardStepBase.cs
- PageBreakRecord.cs
- PropertyPushdownHelper.cs
- ParameterRetriever.cs
- DesigntimeLicenseContext.cs
- StrokeCollectionConverter.cs
- FontInfo.cs
- DayRenderEvent.cs
- XsdBuildProvider.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- RTTrackingProfile.cs
- SHA256Cng.cs
- GenericRootAutomationPeer.cs
- LostFocusEventManager.cs
- BaseDataBoundControl.cs
- AudienceUriMode.cs
- QueryCacheEntry.cs
- Margins.cs
- ApplicationFileParser.cs
- BitmapCacheBrush.cs
- ApplicationProxyInternal.cs
- FragmentNavigationEventArgs.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- LogSwitch.cs
- XmlWrappingReader.cs
- DecodeHelper.cs
- FontInfo.cs
- AsyncPostBackErrorEventArgs.cs
- XmlDeclaration.cs
- HtmlEmptyTagControlBuilder.cs
- XmlCharacterData.cs
- SystemIPInterfaceProperties.cs
- OdbcException.cs
- DataControlExtensions.cs
- figurelength.cs
- RunClient.cs
- BitmapEffectGeneralTransform.cs
- BitArray.cs
- XslTransform.cs
- StorageMappingItemCollection.cs
- Oid.cs
- CounterSample.cs
- Stackframe.cs
- EventLogPermissionEntryCollection.cs
- XmlValidatingReaderImpl.cs
- TransactionManager.cs
- TreeChangeInfo.cs
- OdbcEnvironment.cs
- GeneralTransformGroup.cs
- HebrewNumber.cs
- TriggerActionCollection.cs
- SafeEventHandle.cs
- TransformProviderWrapper.cs
- TransformGroup.cs
- XmlCollation.cs
- Thread.cs
- ConnectionProviderAttribute.cs
- XDeferredAxisSource.cs
- GlyphShapingProperties.cs
- ToolStripItemCollection.cs
- DropShadowEffect.cs
- BmpBitmapEncoder.cs
- ConnectionStringsExpressionBuilder.cs
- SessionEndingEventArgs.cs
- StringComparer.cs
- DbQueryCommandTree.cs
- ListItemConverter.cs
- SecurityHeaderTokenResolver.cs
- ModuleConfigurationInfo.cs
- InputScope.cs
- PackUriHelper.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DiagnosticTraceSchemas.cs
- InternalTypeHelper.cs
- IBuiltInEvidence.cs
- XamlToRtfParser.cs
- WebPartTransformerCollection.cs
- ModifierKeysConverter.cs
- CompiledRegexRunnerFactory.cs
- WebPartUtil.cs
- ObjectReaderCompiler.cs
- SparseMemoryStream.cs
- XmlObjectSerializerWriteContext.cs
- EncoderExceptionFallback.cs
- GridViewColumnCollection.cs
- SoapSchemaExporter.cs
- Win32NamedPipes.cs
- ExtendedProtectionPolicy.cs