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
- DrawingGroupDrawingContext.cs
- DetailsViewDeleteEventArgs.cs
- ScrollData.cs
- Coordinator.cs
- SafeNativeMethods.cs
- TextPointer.cs
- ExtenderProvidedPropertyAttribute.cs
- Emitter.cs
- Publisher.cs
- DataGridColumnHeaderCollection.cs
- SessionChannels.cs
- MethodExecutor.cs
- XmlStreamNodeWriter.cs
- SendingRequestEventArgs.cs
- FormatException.cs
- FixedSOMImage.cs
- FastPropertyAccessor.cs
- MailHeaderInfo.cs
- XPathExpr.cs
- TextBox.cs
- DrawingServices.cs
- SchemaElementLookUpTable.cs
- VisualState.cs
- IsolatedStoragePermission.cs
- XmlSchemaSet.cs
- ComponentChangingEvent.cs
- SvcFileManager.cs
- StringUtil.cs
- Clipboard.cs
- PropertyCondition.cs
- CardSpaceException.cs
- TiffBitmapDecoder.cs
- GetIsBrowserClientRequest.cs
- DivideByZeroException.cs
- SettingsAttributeDictionary.cs
- ListViewHitTestInfo.cs
- StructuralComparisons.cs
- RelatedEnd.cs
- ProcessModuleCollection.cs
- DataGridColumnCollectionEditor.cs
- SuppressMergeCheckAttribute.cs
- SizeIndependentAnimationStorage.cs
- Floater.cs
- Range.cs
- ExtensionQuery.cs
- HandlerFactoryCache.cs
- RegexParser.cs
- ComboBoxRenderer.cs
- XmlSubtreeReader.cs
- HostProtectionException.cs
- SmiRecordBuffer.cs
- BaseUriHelper.cs
- Timer.cs
- CodeExpressionStatement.cs
- BinaryObjectInfo.cs
- CodeArrayCreateExpression.cs
- NameValueSectionHandler.cs
- ModuleBuilderData.cs
- ComAdminInterfaces.cs
- StreamWithDictionary.cs
- SplashScreenNativeMethods.cs
- RelationshipEnd.cs
- XNodeValidator.cs
- SafeViewOfFileHandle.cs
- RuntimeConfig.cs
- StyleBamlTreeBuilder.cs
- CachingParameterInspector.cs
- Scene3D.cs
- DataDocumentXPathNavigator.cs
- WebPartVerbsEventArgs.cs
- XmlSchemaAttributeGroupRef.cs
- SemanticBasicElement.cs
- COM2FontConverter.cs
- IInstanceContextProvider.cs
- FileSystemEventArgs.cs
- DataGridPagerStyle.cs
- XmlName.cs
- ToolStripContainerActionList.cs
- DataSetUtil.cs
- HotSpot.cs
- NonClientArea.cs
- TextEncodedRawTextWriter.cs
- WSHttpBindingBaseElement.cs
- ToolStripDropDownClosedEventArgs.cs
- ListControlConvertEventArgs.cs
- PipelineModuleStepContainer.cs
- LinqDataSourceHelper.cs
- SSmlParser.cs
- GridViewRowCollection.cs
- securestring.cs
- HotCommands.cs
- TableCellCollection.cs
- DataServiceProcessingPipeline.cs
- DescriptionAttribute.cs
- COAUTHIDENTITY.cs
- TaiwanLunisolarCalendar.cs
- LayoutTable.cs
- WebPartsPersonalizationAuthorization.cs
- SynchronousChannelMergeEnumerator.cs
- ThemeDictionaryExtension.cs