Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / securitycriticaldataClass.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SupportingTokenDuplexChannel.cs
- ArgumentsParser.cs
- SynchronizedDispatch.cs
- FormatterConverter.cs
- _Events.cs
- SystemIPGlobalProperties.cs
- ProfileParameter.cs
- manifestimages.cs
- PropertyDescriptor.cs
- ColorContext.cs
- PcmConverter.cs
- ResolveNameEventArgs.cs
- DebugHandleTracker.cs
- ArrayTypeMismatchException.cs
- ListBindingConverter.cs
- RpcCryptoContext.cs
- SvcMapFile.cs
- UriTemplatePathSegment.cs
- StrongNameMembershipCondition.cs
- SymmetricSecurityBindingElement.cs
- XsdDuration.cs
- DesignerCategoryAttribute.cs
- RectValueSerializer.cs
- ManipulationPivot.cs
- ObjectDataSourceEventArgs.cs
- bindurihelper.cs
- BodyGlyph.cs
- ContentPresenter.cs
- Light.cs
- VirtualizedItemProviderWrapper.cs
- SpeechRecognizer.cs
- ComponentFactoryHelpers.cs
- ObjectQuery_EntitySqlExtensions.cs
- TypeDescriptionProvider.cs
- CompilationSection.cs
- HostExecutionContextManager.cs
- FormsAuthenticationTicket.cs
- ReadOnlyDataSource.cs
- TableSectionStyle.cs
- XmlDesignerDataSourceView.cs
- CompiledRegexRunner.cs
- CallbackValidator.cs
- SrgsGrammar.cs
- TagMapInfo.cs
- EdgeModeValidation.cs
- DateTimeOffsetStorage.cs
- _FixedSizeReader.cs
- OleDbReferenceCollection.cs
- DrawListViewColumnHeaderEventArgs.cs
- ImageList.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ToolStripItemRenderEventArgs.cs
- SkinBuilder.cs
- XmlUtil.cs
- Scalars.cs
- NullableDecimalAverageAggregationOperator.cs
- DataList.cs
- _UriTypeConverter.cs
- ProtocolReflector.cs
- ThreadExceptionDialog.cs
- GridViewColumnHeaderAutomationPeer.cs
- GlyphCache.cs
- ModelItemKeyValuePair.cs
- _SafeNetHandles.cs
- XD.cs
- ChangePassword.cs
- DescendentsWalkerBase.cs
- GorillaCodec.cs
- Mappings.cs
- Deflater.cs
- ImageDrawing.cs
- AttachedPropertyBrowsableAttribute.cs
- XmlReader.cs
- AutomationIdentifier.cs
- InputMethodStateTypeInfo.cs
- PasswordBox.cs
- HttpResponseWrapper.cs
- PointCollection.cs
- DropTarget.cs
- WebControlAdapter.cs
- AnnouncementEventArgs.cs
- CompoundFileDeflateTransform.cs
- BamlWriter.cs
- WebPartVerbsEventArgs.cs
- RuleCache.cs
- UIElementAutomationPeer.cs
- Connector.xaml.cs
- DataSourceComponent.cs
- AggregateNode.cs
- GridItemCollection.cs
- RootAction.cs
- CompilationRelaxations.cs
- FunctionUpdateCommand.cs
- PEFileReader.cs
- RegistrationServices.cs
- ExeContext.cs
- UserInitiatedNavigationPermission.cs
- WindowsTooltip.cs
- OleDbException.cs
- GridViewPageEventArgs.cs