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
- SqlInternalConnection.cs
- InputScope.cs
- Rule.cs
- CompositeControl.cs
- KnownIds.cs
- Selection.cs
- MasterPageParser.cs
- XmlSchemaSubstitutionGroup.cs
- SqlDataReaderSmi.cs
- BuildProvider.cs
- ComponentConverter.cs
- TextMarkerSource.cs
- GlyphCollection.cs
- SpellerInterop.cs
- DriveNotFoundException.cs
- ErrorStyle.cs
- _NtlmClient.cs
- Timeline.cs
- EncryptedXml.cs
- VisualBasicImportReference.cs
- RouteItem.cs
- Stack.cs
- FileRecordSequenceCompletedAsyncResult.cs
- MultiPropertyDescriptorGridEntry.cs
- XslException.cs
- RIPEMD160Managed.cs
- CacheOutputQuery.cs
- XmlCountingReader.cs
- BaseParser.cs
- TraceListener.cs
- DataView.cs
- EffectiveValueEntry.cs
- RIPEMD160.cs
- HyperLinkField.cs
- OpCellTreeNode.cs
- SqlProcedureAttribute.cs
- TraceContextEventArgs.cs
- MultipartContentParser.cs
- InvalidDataException.cs
- CacheMemory.cs
- BreakSafeBase.cs
- ServiceHttpHandlerFactory.cs
- ActivityStatusChangeEventArgs.cs
- KeysConverter.cs
- NetMsmqSecurity.cs
- ListCollectionView.cs
- LogPolicy.cs
- XpsException.cs
- TextTreeInsertElementUndoUnit.cs
- DataRowCollection.cs
- PropertyEmitter.cs
- TypeConverterAttribute.cs
- InputBinder.cs
- DigestTraceRecordHelper.cs
- SingleTagSectionHandler.cs
- OpenTypeLayoutCache.cs
- UserControl.cs
- ProfilePropertySettings.cs
- ComPlusServiceLoader.cs
- HttpResponseHeader.cs
- XhtmlBasicCalendarAdapter.cs
- CollectionChangedEventManager.cs
- TreeViewCancelEvent.cs
- MultiTrigger.cs
- DbProviderFactory.cs
- SettingsProperty.cs
- BooleanSwitch.cs
- TraceLog.cs
- COM2EnumConverter.cs
- JsonCollectionDataContract.cs
- AttachmentService.cs
- DataGridViewUtilities.cs
- MetafileEditor.cs
- RequestCacheValidator.cs
- Button.cs
- TailCallAnalyzer.cs
- PropertyEmitterBase.cs
- AsyncCompletedEventArgs.cs
- EpmContentSerializer.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- StrokeNode.cs
- printdlgexmarshaler.cs
- XmlChildEnumerator.cs
- Label.cs
- NativeMethods.cs
- NumericPagerField.cs
- SecurityIdentifierElementCollection.cs
- RegistrationServices.cs
- ContentPathSegment.cs
- OptionUsage.cs
- MatcherBuilder.cs
- ArrayConverter.cs
- DispatchWrapper.cs
- XmlReader.cs
- ConfigurationManagerHelper.cs
- SQLGuidStorage.cs
- Rectangle.cs
- ThicknessAnimationUsingKeyFrames.cs
- DocumentPage.cs
- ListViewItemMouseHoverEvent.cs