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
- MenuItemCollection.cs
- BaseParser.cs
- HttpHandlersInstallComponent.cs
- SHA256Managed.cs
- InlineUIContainer.cs
- FontFamilyConverter.cs
- LambdaCompiler.Unary.cs
- HttpConfigurationContext.cs
- Error.cs
- Executor.cs
- StyleConverter.cs
- dbdatarecord.cs
- ScheduleChanges.cs
- xamlnodes.cs
- GraphicsPath.cs
- Span.cs
- NetworkInformationPermission.cs
- TranslateTransform3D.cs
- NumericPagerField.cs
- ExceptionUtility.cs
- CuspData.cs
- ServiceModelPerformanceCounters.cs
- MexHttpBindingCollectionElement.cs
- ChangeNode.cs
- RecognizerInfo.cs
- SharedPersonalizationStateInfo.cs
- ParameterEditorUserControl.cs
- SqlMultiplexer.cs
- IdlingCommunicationPool.cs
- ConnectionManagementSection.cs
- Propagator.ExtentPlaceholderCreator.cs
- ModelTreeEnumerator.cs
- AttachmentCollection.cs
- TextElementEnumerator.cs
- InvalidCastException.cs
- Listbox.cs
- ScaleTransform.cs
- LocalServiceSecuritySettings.cs
- IDictionary.cs
- SamlAssertionKeyIdentifierClause.cs
- ManagedFilter.cs
- RelatedPropertyManager.cs
- ZipIOBlockManager.cs
- GenericUriParser.cs
- keycontainerpermission.cs
- CodePageEncoding.cs
- SQLStringStorage.cs
- figurelength.cs
- Graph.cs
- VirtualDirectoryMappingCollection.cs
- BufferBuilder.cs
- RegionIterator.cs
- ToolStripGrip.cs
- ConfigXmlSignificantWhitespace.cs
- HashHelpers.cs
- SchemaImporter.cs
- UrlMappingCollection.cs
- GenericTextProperties.cs
- BitSet.cs
- DecimalAnimationUsingKeyFrames.cs
- AccessibleObject.cs
- StatusBarPanelClickEvent.cs
- RemotingAttributes.cs
- keycontainerpermission.cs
- SQLStringStorage.cs
- XmlException.cs
- DataGridViewImageCell.cs
- MessageQueuePermissionEntry.cs
- XmlSchemaAny.cs
- OpenFileDialog.cs
- ArithmeticLiteral.cs
- EntityTypeEmitter.cs
- DataGridColumn.cs
- TaskHelper.cs
- RequestTimeoutManager.cs
- XmlSerializerSection.cs
- FontSizeConverter.cs
- InvalidWMPVersionException.cs
- UserControlBuildProvider.cs
- LookupNode.cs
- XmlNodeReader.cs
- HttpSysSettings.cs
- PipelineModuleStepContainer.cs
- IntSecurity.cs
- XamlVector3DCollectionSerializer.cs
- XmlSchemaComplexContentRestriction.cs
- SoapMessage.cs
- XmlAttributes.cs
- DataTransferEventArgs.cs
- SByteConverter.cs
- WorkerRequest.cs
- DelimitedListTraceListener.cs
- CodeCatchClauseCollection.cs
- PlanCompiler.cs
- DataServiceEntityAttribute.cs
- ObjectFullSpanRewriter.cs
- SQLString.cs
- ConfigXmlSignificantWhitespace.cs
- DataGridSortCommandEventArgs.cs
- FixedStringLookup.cs