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 / 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
- ToolStripControlHost.cs
- DataGridTextBoxColumn.cs
- ArrayHelper.cs
- TabControlAutomationPeer.cs
- TraceContextEventArgs.cs
- OletxResourceManager.cs
- XmlStreamNodeWriter.cs
- ControlBuilder.cs
- TreeNodeCollectionEditor.cs
- ActivityCodeDomSerializationManager.cs
- XmlSchemaValidationException.cs
- ServiceBuildProvider.cs
- SystemIPv4InterfaceProperties.cs
- DataGridViewCellValueEventArgs.cs
- ArrayTypeMismatchException.cs
- WorkItem.cs
- BooleanProjectedSlot.cs
- ButtonStandardAdapter.cs
- SecurityContext.cs
- FontFaceLayoutInfo.cs
- StringOutput.cs
- CompositeFontFamily.cs
- DataPagerFieldCommandEventArgs.cs
- Line.cs
- ResourceManager.cs
- AppDomainEvidenceFactory.cs
- TCEAdapterGenerator.cs
- CacheAxisQuery.cs
- RequestBringIntoViewEventArgs.cs
- NameScopePropertyAttribute.cs
- Control.cs
- BaseResourcesBuildProvider.cs
- CharacterBufferReference.cs
- ValidationHelper.cs
- Preprocessor.cs
- PriorityBinding.cs
- Mapping.cs
- ArraySortHelper.cs
- Array.cs
- BooleanSwitch.cs
- AnimatedTypeHelpers.cs
- Expr.cs
- Transactions.cs
- DataGridViewComboBoxEditingControl.cs
- MetadataImporterQuotas.cs
- ActivityStateRecord.cs
- TextDocumentView.cs
- TextViewSelectionProcessor.cs
- Repeater.cs
- FormatException.cs
- GlobalizationAssembly.cs
- Tile.cs
- UpdateTranslator.cs
- TransactionsSectionGroup.cs
- HostVisual.cs
- SortedList.cs
- StandardOleMarshalObject.cs
- SplitContainer.cs
- VectorAnimationUsingKeyFrames.cs
- SpellerError.cs
- Win32.cs
- ColumnCollection.cs
- BindToObject.cs
- MemoryPressure.cs
- EmptyStringExpandableObjectConverter.cs
- TabletCollection.cs
- SessionPageStatePersister.cs
- ThreadNeutralSemaphore.cs
- PropertyMapper.cs
- FontSourceCollection.cs
- KeyTimeConverter.cs
- CookieParameter.cs
- DesignerForm.cs
- InfoCardSymmetricCrypto.cs
- IdentifierCollection.cs
- CacheModeValueSerializer.cs
- EnumMemberAttribute.cs
- PrintEvent.cs
- Expression.cs
- TransformValueSerializer.cs
- DesignerVerb.cs
- PkcsUtils.cs
- ApplyTemplatesAction.cs
- TimeSpanMinutesConverter.cs
- TemplateAction.cs
- ServiceHost.cs
- DBConcurrencyException.cs
- DynamicMethod.cs
- CodeAccessPermission.cs
- CacheOutputQuery.cs
- EditingScope.cs
- InstanceDataCollection.cs
- BuilderPropertyEntry.cs
- ClientTargetSection.cs
- Msmq3PoisonHandler.cs
- ServiceDesigner.cs
- StorageComplexPropertyMapping.cs
- WindowsListViewSubItem.cs
- BamlRecordWriter.cs
- HashMembershipCondition.cs