Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- FormClosingEvent.cs
- PseudoWebRequest.cs
- SchemaElementLookUpTableEnumerator.cs
- StdRegProviderWrapper.cs
- EntityConnectionStringBuilderItem.cs
- MetricEntry.cs
- ListViewSelectEventArgs.cs
- ClientSponsor.cs
- PtsPage.cs
- MetafileHeaderWmf.cs
- SqlConnectionHelper.cs
- GeneralTransform3DTo2DTo3D.cs
- DesigntimeLicenseContextSerializer.cs
- ChildDocumentBlock.cs
- LinkLabelLinkClickedEvent.cs
- GreenMethods.cs
- ErrorStyle.cs
- FocusManager.cs
- ClientTargetCollection.cs
- ReferenceConverter.cs
- GlobalizationAssembly.cs
- MultiView.cs
- RequestValidator.cs
- StrokeNodeOperations2.cs
- ScriptingWebServicesSectionGroup.cs
- SiteMapSection.cs
- ProfileService.cs
- InternalUserCancelledException.cs
- HtmlInputReset.cs
- ExeContext.cs
- URLIdentityPermission.cs
- CompilationSection.cs
- StaticFileHandler.cs
- LoadItemsEventArgs.cs
- UpDownEvent.cs
- SizeLimitedCache.cs
- TreePrinter.cs
- Atom10FormatterFactory.cs
- CompilationUtil.cs
- ViewPort3D.cs
- RequestTimeoutManager.cs
- DataSourceHelper.cs
- PolicyLevel.cs
- BinaryConverter.cs
- Propagator.ExtentPlaceholderCreator.cs
- DataSourceControl.cs
- OdbcFactory.cs
- _OSSOCK.cs
- XmlSchemaExternal.cs
- PipeStream.cs
- ThreadAttributes.cs
- HttpServerUtilityBase.cs
- NavigationHelper.cs
- RangeBaseAutomationPeer.cs
- GridViewSortEventArgs.cs
- TaiwanLunisolarCalendar.cs
- Help.cs
- SqlProcedureAttribute.cs
- OleDbPermission.cs
- StickyNoteHelper.cs
- UnregisterInfo.cs
- TextParagraphProperties.cs
- UTF8Encoding.cs
- UnsafeNativeMethods.cs
- SecurityTokenException.cs
- DataGridViewRowsRemovedEventArgs.cs
- WmpBitmapDecoder.cs
- DesignerEventService.cs
- TypeSource.cs
- PackageProperties.cs
- XmlAnyElementAttributes.cs
- SqlConnectionStringBuilder.cs
- ListItem.cs
- CategoryValueConverter.cs
- DesigntimeLicenseContextSerializer.cs
- MediaEntryAttribute.cs
- FontFamilyConverter.cs
- DataServiceExpressionVisitor.cs
- GeometryDrawing.cs
- SynchronizedDispatch.cs
- BuilderPropertyEntry.cs
- Int32CollectionConverter.cs
- ReadContentAsBinaryHelper.cs
- WindowsRichEdit.cs
- TreeViewDataItemAutomationPeer.cs
- Socket.cs
- TextRangeSerialization.cs
- TableRow.cs
- MenuItemBindingCollection.cs
- KerberosSecurityTokenAuthenticator.cs
- ProgressChangedEventArgs.cs
- RotationValidation.cs
- DateTimePicker.cs
- TemplateKey.cs
- DockProviderWrapper.cs
- TextBlockAutomationPeer.cs
- GroupBoxRenderer.cs
- ErrorProvider.cs
- TextReader.cs
- ViewCellSlot.cs