Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Shared / MS / Internal / securitycriticaldataClass.cs / 1 / 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. //---------------------------------------------------------------------------- // //// 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
- CodeTypeParameterCollection.cs
- CompositeCollection.cs
- ToolBar.cs
- WindowsListViewItemCheckBox.cs
- ImportOptions.cs
- Size.cs
- PhysicalAddress.cs
- HtmlInputImage.cs
- ManualResetEventSlim.cs
- ThreadAbortException.cs
- Config.cs
- ResourceReferenceExpression.cs
- SimpleBitVector32.cs
- NativeMethods.cs
- XamlWriter.cs
- SecurityDocument.cs
- ArgumentNullException.cs
- RegexCompilationInfo.cs
- ClrProviderManifest.cs
- PersistenceMetadataNamespace.cs
- EntitySetRetriever.cs
- OdbcError.cs
- TemplatePartAttribute.cs
- ProviderMetadataCachedInformation.cs
- SpStreamWrapper.cs
- DurableRuntimeValidator.cs
- RestClientProxyHandler.cs
- Focus.cs
- XPathAxisIterator.cs
- QilTernary.cs
- WebRequestModuleElementCollection.cs
- PropertyChangingEventArgs.cs
- StrokeCollection2.cs
- OdbcEnvironment.cs
- WindowsAuthenticationEventArgs.cs
- BindingExpressionBase.cs
- BufferedStream2.cs
- Translator.cs
- HttpApplicationFactory.cs
- ConfigurationSettings.cs
- StrokeIntersection.cs
- CacheForPrimitiveTypes.cs
- XmlAutoDetectWriter.cs
- FormatVersion.cs
- FileLogRecordHeader.cs
- MachineKeySection.cs
- TypeDependencyAttribute.cs
- Add.cs
- ZipIORawDataFileBlock.cs
- DiffuseMaterial.cs
- XmlConverter.cs
- SharedConnectionInfo.cs
- RestClientProxyHandler.cs
- MatrixAnimationUsingKeyFrames.cs
- BrowserDefinitionCollection.cs
- MatrixAnimationUsingKeyFrames.cs
- HtmlImage.cs
- PaginationProgressEventArgs.cs
- Missing.cs
- SecureStringHasher.cs
- DynamicField.cs
- ToolStripItemEventArgs.cs
- XmlILStorageConverter.cs
- SmiEventSink_Default.cs
- EntityDataSourceStatementEditorForm.cs
- StylusPointCollection.cs
- InternalMappingException.cs
- LiteralText.cs
- TextRunTypographyProperties.cs
- StorageConditionPropertyMapping.cs
- ExtensionQuery.cs
- Triplet.cs
- WebExceptionStatus.cs
- PageAsyncTaskManager.cs
- PropertyValueUIItem.cs
- TransactionScopeDesigner.cs
- ListViewItemEventArgs.cs
- CorrelationInitializer.cs
- StringTraceRecord.cs
- MetaModel.cs
- EntityClassGenerator.cs
- StreamGeometryContext.cs
- Decorator.cs
- DictionarySectionHandler.cs
- ErrorWrapper.cs
- CharacterString.cs
- HtmlTitle.cs
- ControlBindingsCollection.cs
- cryptoapiTransform.cs
- UInt16.cs
- SoapSchemaImporter.cs
- _ConnectOverlappedAsyncResult.cs
- OdbcPermission.cs
- MostlySingletonList.cs
- SparseMemoryStream.cs
- TableRow.cs
- TheQuery.cs
- PageParserFilter.cs
- TypeDependencyAttribute.cs
- XmlDataSource.cs