Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / securitycriticaldata.cs / 1305600 / 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
- DbgUtil.cs
- AppearanceEditorPart.cs
- Event.cs
- TextEmbeddedObject.cs
- CodeSnippetStatement.cs
- SystemResourceKey.cs
- KeyboardNavigation.cs
- MemoryPressure.cs
- CustomError.cs
- MdiWindowListStrip.cs
- QuaternionValueSerializer.cs
- InvokeMethodActivity.cs
- PingOptions.cs
- DataGridViewComponentPropertyGridSite.cs
- KeySplineConverter.cs
- PointAnimationBase.cs
- CheckBoxFlatAdapter.cs
- ClientBuildManager.cs
- StaticSiteMapProvider.cs
- Permission.cs
- XmlAttribute.cs
- IncrementalReadDecoders.cs
- TextRangeEditLists.cs
- AttributeTableBuilder.cs
- SchemaNotation.cs
- XmlNamedNodeMap.cs
- DiscoveryClientProtocol.cs
- ImageButton.cs
- LineInfo.cs
- XmlUtil.cs
- EdmItemError.cs
- RuntimeDelegateArgument.cs
- _DisconnectOverlappedAsyncResult.cs
- RTLAwareMessageBox.cs
- MemberRelationshipService.cs
- DisplayMemberTemplateSelector.cs
- PassportAuthenticationEventArgs.cs
- FrameworkContentElement.cs
- HttpRequest.cs
- DataGridViewCellValidatingEventArgs.cs
- UserControl.cs
- RawKeyboardInputReport.cs
- InputGestureCollection.cs
- PauseStoryboard.cs
- InputLanguageEventArgs.cs
- DigestTraceRecordHelper.cs
- ApplyHostConfigurationBehavior.cs
- LocalIdKeyIdentifierClause.cs
- StreamReader.cs
- StrongNamePublicKeyBlob.cs
- RawStylusInputReport.cs
- Span.cs
- TargetPerspective.cs
- WorkflowDebuggerSteppingAttribute.cs
- HttpModule.cs
- ExpressionList.cs
- TabRenderer.cs
- DependencyPropertyAttribute.cs
- Code.cs
- KerberosSecurityTokenProvider.cs
- UInt64Converter.cs
- QueueProcessor.cs
- FindCriteriaElement.cs
- QfeChecker.cs
- HtmlTableRow.cs
- EditorZoneBase.cs
- CmsInterop.cs
- ImmComposition.cs
- ReadOnlyDataSourceView.cs
- DataGridParentRows.cs
- KeysConverter.cs
- SmiConnection.cs
- TypeReference.cs
- XNodeNavigator.cs
- DataGridClipboardCellContent.cs
- CodeDelegateCreateExpression.cs
- BitVector32.cs
- WebUtil.cs
- WorkflowMessageEventArgs.cs
- ManagementClass.cs
- ParserOptions.cs
- BinaryOperationBinder.cs
- IndexOutOfRangeException.cs
- UITypeEditor.cs
- WebBrowserNavigatingEventHandler.cs
- SqlDependencyUtils.cs
- SafeNativeMethods.cs
- EntitySet.cs
- Attachment.cs
- HttpCacheVaryByContentEncodings.cs
- ThicknessConverter.cs
- CommandLibraryHelper.cs
- ResXResourceSet.cs
- MobileSysDescriptionAttribute.cs
- MethodInfo.cs
- StylusPointCollection.cs
- HtmlProps.cs
- RepeaterItemCollection.cs
- Rijndael.cs
- UnsafeNativeMethods.cs