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
- Label.cs
- SecurityKeyIdentifierClause.cs
- QueueException.cs
- UnauthorizedWebPart.cs
- CLSCompliantAttribute.cs
- MarginsConverter.cs
- Stackframe.cs
- LambdaCompiler.Address.cs
- ThreadExceptionDialog.cs
- WSDualHttpBindingCollectionElement.cs
- RealProxy.cs
- ActivitiesCollection.cs
- WebControlParameterProxy.cs
- JsonDataContract.cs
- ErrorActivity.cs
- CngKeyBlobFormat.cs
- DataAdapter.cs
- LiteralTextParser.cs
- SmtpCommands.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- _LoggingObject.cs
- Source.cs
- RegexMatchCollection.cs
- DataListItemEventArgs.cs
- DataGridPageChangedEventArgs.cs
- VariableQuery.cs
- EventHandlerList.cs
- NestPullup.cs
- ProviderConnectionPoint.cs
- PageSettings.cs
- BinaryCommonClasses.cs
- SystemDropShadowChrome.cs
- HttpHandlersInstallComponent.cs
- DrawingState.cs
- SynchronizedReadOnlyCollection.cs
- WebControl.cs
- FixUpCollection.cs
- DocumentPaginator.cs
- DetailsViewPageEventArgs.cs
- PermissionListSet.cs
- GuidelineSet.cs
- Transform3D.cs
- DropSource.cs
- AdCreatedEventArgs.cs
- WindowsSolidBrush.cs
- Classification.cs
- GroupJoinQueryOperator.cs
- DataGridViewTextBoxColumn.cs
- NumberFunctions.cs
- Imaging.cs
- PopupControlService.cs
- PropertyConverter.cs
- RTLAwareMessageBox.cs
- CategoryNameCollection.cs
- InvalidProgramException.cs
- Models.cs
- ExecutionContext.cs
- SchemaName.cs
- DataTemplateSelector.cs
- ProfileSettings.cs
- FileUtil.cs
- StatusBarPanel.cs
- MembershipSection.cs
- DesignTimeTemplateParser.cs
- Int32Animation.cs
- AsymmetricSecurityBindingElement.cs
- Shape.cs
- InvalidContentTypeException.cs
- MessageEncodingBindingElementImporter.cs
- SqlBooleanMismatchVisitor.cs
- CapabilitiesState.cs
- LocalizationComments.cs
- RegexWriter.cs
- TabletCollection.cs
- ComponentCollection.cs
- HandledEventArgs.cs
- ObfuscationAttribute.cs
- XmlToDatasetMap.cs
- MembershipValidatePasswordEventArgs.cs
- UnsafeNativeMethods.cs
- PerformanceCounterPermissionEntry.cs
- UnsafeNativeMethods.cs
- SrgsDocument.cs
- SecureStringHasher.cs
- EUCJPEncoding.cs
- QilExpression.cs
- XamlTreeBuilder.cs
- DecimalStorage.cs
- ClientProxyGenerator.cs
- ParserExtension.cs
- BuiltInExpr.cs
- XmlTextAttribute.cs
- QuaternionAnimationUsingKeyFrames.cs
- XmlSchemaFacet.cs
- CopyAction.cs
- Exception.cs
- DataObject.cs
- AuthenticationService.cs
- TextRunCache.cs
- ComponentRenameEvent.cs