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
- login.cs
- IdentityManager.cs
- ObjectQuery.cs
- MetadataCollection.cs
- TextRangeEdit.cs
- TrackingRecordPreFilter.cs
- AssemblyNameProxy.cs
- AsyncOperationManager.cs
- TransactedReceiveData.cs
- RIPEMD160.cs
- DesignerAdRotatorAdapter.cs
- CellRelation.cs
- CTreeGenerator.cs
- Hash.cs
- AutomationProperties.cs
- Rfc2898DeriveBytes.cs
- InstancePersistence.cs
- EntityContainer.cs
- RoutingConfiguration.cs
- SqlDataSourceQueryEditor.cs
- EntityCommandExecutionException.cs
- ContentElement.cs
- ClientSettingsSection.cs
- ConfigDefinitionUpdates.cs
- Viewport3DVisual.cs
- PaginationProgressEventArgs.cs
- Size3D.cs
- SqlPersonalizationProvider.cs
- XmlQualifiedName.cs
- TakeOrSkipQueryOperator.cs
- VisualProxy.cs
- SqlTriggerContext.cs
- XmlNodeChangedEventArgs.cs
- PageThemeBuildProvider.cs
- CharacterShapingProperties.cs
- DmlSqlGenerator.cs
- FilterableData.cs
- OptimizedTemplateContentHelper.cs
- CustomErrorCollection.cs
- WebPartDisplayMode.cs
- EdmComplexTypeAttribute.cs
- StyleCollection.cs
- ProjectionCamera.cs
- ChtmlTextBoxAdapter.cs
- CssStyleCollection.cs
- UIElementCollection.cs
- dtdvalidator.cs
- ButtonField.cs
- DataSourceListEditor.cs
- ColumnMap.cs
- FloatUtil.cs
- TreeWalkHelper.cs
- DPCustomTypeDescriptor.cs
- XmlArrayAttribute.cs
- ZeroOpNode.cs
- CompilerError.cs
- RemotingSurrogateSelector.cs
- ElementNotEnabledException.cs
- UseAttributeSetsAction.cs
- Debugger.cs
- FrameAutomationPeer.cs
- GC.cs
- KeyConstraint.cs
- wmiutil.cs
- CategoryState.cs
- DbConvert.cs
- MenuItemAutomationPeer.cs
- FaultFormatter.cs
- MemoryStream.cs
- SqlBooleanMismatchVisitor.cs
- Int16AnimationBase.cs
- UDPClient.cs
- PackageProperties.cs
- BidOverLoads.cs
- VectorAnimation.cs
- ObjectQueryProvider.cs
- ISAPIRuntime.cs
- FormCollection.cs
- ApplicationSettingsBase.cs
- UserControlParser.cs
- XmlDocument.cs
- RootBrowserWindowAutomationPeer.cs
- MemoryRecordBuffer.cs
- PrintDialog.cs
- DecimalConverter.cs
- InternalSafeNativeMethods.cs
- StringSorter.cs
- DataGridView.cs
- HandlerBase.cs
- DrawListViewSubItemEventArgs.cs
- ImageListUtils.cs
- DoubleAnimationClockResource.cs
- GroupItem.cs
- CompensateDesigner.cs
- Pts.cs
- TimerElapsedEvenArgs.cs
- InstanceData.cs
- KeyGesture.cs
- CompilerErrorCollection.cs
- QilTernary.cs