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
- EdmSchemaAttribute.cs
- HtmlControlPersistable.cs
- Style.cs
- ManualWorkflowSchedulerService.cs
- QilBinary.cs
- ISFClipboardData.cs
- XmlTypeAttribute.cs
- TreeView.cs
- PathGeometry.cs
- PreviewPageInfo.cs
- ZipIOCentralDirectoryFileHeader.cs
- PathNode.cs
- IISUnsafeMethods.cs
- AsnEncodedData.cs
- PassportIdentity.cs
- WindowsTitleBar.cs
- StrokeRenderer.cs
- LambdaCompiler.cs
- DeclaredTypeElementCollection.cs
- ComponentRenameEvent.cs
- ToolStripActionList.cs
- ListDictionary.cs
- TemplateComponentConnector.cs
- SymmetricKey.cs
- ObjectMemberMapping.cs
- AjaxFrameworkAssemblyAttribute.cs
- UnmanagedMemoryStreamWrapper.cs
- SelectedDatesCollection.cs
- VisualProxy.cs
- itemelement.cs
- TreeBuilder.cs
- _FtpDataStream.cs
- SBCSCodePageEncoding.cs
- IntranetCredentialPolicy.cs
- Error.cs
- XmlNavigatorFilter.cs
- FormsAuthenticationTicket.cs
- ItemList.cs
- ToolStripMenuItemCodeDomSerializer.cs
- ListViewEditEventArgs.cs
- OdbcConnectionHandle.cs
- CodeRegionDirective.cs
- RelationshipEndMember.cs
- LogExtentCollection.cs
- PriorityRange.cs
- SqlMethods.cs
- MaterializeFromAtom.cs
- SelectionPattern.cs
- EntityProxyFactory.cs
- CqlIdentifiers.cs
- SourceFileBuildProvider.cs
- PeerNode.cs
- SqlNamer.cs
- WebPageTraceListener.cs
- PlaceHolder.cs
- XmlResolver.cs
- PageCatalogPart.cs
- EntityConnectionStringBuilderItem.cs
- Vector3DKeyFrameCollection.cs
- HyperLinkField.cs
- ByteAnimationUsingKeyFrames.cs
- XmlValidatingReader.cs
- ParserStreamGeometryContext.cs
- ListViewGroupItemCollection.cs
- HttpFileCollectionWrapper.cs
- StateMachine.cs
- WebServicesSection.cs
- ReliableMessagingVersion.cs
- RadioButtonList.cs
- EventHandlersStore.cs
- Range.cs
- SettingsAttributeDictionary.cs
- TabletDeviceInfo.cs
- ContentElement.cs
- HelpEvent.cs
- ParameterModifier.cs
- XmlAttributeCollection.cs
- ContentTextAutomationPeer.cs
- ResourceSet.cs
- MimeObjectFactory.cs
- BuildProvidersCompiler.cs
- Ray3DHitTestResult.cs
- EmptyReadOnlyDictionaryInternal.cs
- columnmapfactory.cs
- QilFunction.cs
- TextDecorationCollection.cs
- RenderContext.cs
- AutoResetEvent.cs
- PerformanceCounterPermission.cs
- ProvidersHelper.cs
- SystemWebExtensionsSectionGroup.cs
- Exceptions.cs
- BookmarkWorkItem.cs
- RegexCompilationInfo.cs
- RequestCacheValidator.cs
- TimeEnumHelper.cs
- CodeGeneratorAttribute.cs
- ItemsPanelTemplate.cs
- SessionState.cs
- AdornerPresentationContext.cs