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
- SrgsElementFactory.cs
- PackWebRequestFactory.cs
- SupportingTokenAuthenticatorSpecification.cs
- Polyline.cs
- ImageMap.cs
- ComplexTypeEmitter.cs
- Compiler.cs
- Converter.cs
- MsmqInputMessagePool.cs
- EditModeSwitchButton.cs
- ContractNamespaceAttribute.cs
- AutomationTextAttribute.cs
- ContentPlaceHolderDesigner.cs
- ActiveXSerializer.cs
- EncodingTable.cs
- CodeGen.cs
- EncoderFallback.cs
- CqlBlock.cs
- CompressionTracing.cs
- backend.cs
- ValueSerializer.cs
- CompressionTransform.cs
- Error.cs
- PeerNameRegistration.cs
- InputLanguageManager.cs
- nulltextnavigator.cs
- DecimalStorage.cs
- AppDomainAttributes.cs
- Base64WriteStateInfo.cs
- SafeNativeMethods.cs
- WebEventCodes.cs
- PositiveTimeSpanValidatorAttribute.cs
- XmlStreamStore.cs
- RoleGroupCollection.cs
- SqlUtils.cs
- ValueTable.cs
- InfoCardTraceRecord.cs
- MarshalDirectiveException.cs
- SimpleRecyclingCache.cs
- LinkLabel.cs
- FixedSOMTextRun.cs
- XPathSingletonIterator.cs
- InputMethodStateTypeInfo.cs
- HttpResponseHeader.cs
- Attributes.cs
- SafeEventLogWriteHandle.cs
- ActivityTypeCodeDomSerializer.cs
- BamlResourceContent.cs
- GridToolTip.cs
- ListViewUpdateEventArgs.cs
- CompareValidator.cs
- ConnectionInterfaceCollection.cs
- DataPagerFieldCommandEventArgs.cs
- ColumnHeader.cs
- FtpWebResponse.cs
- ProfileSettingsCollection.cs
- DataSourceProvider.cs
- ListView.cs
- HttpException.cs
- SqlCacheDependency.cs
- ClickablePoint.cs
- SerializationSectionGroup.cs
- ResourceDisplayNameAttribute.cs
- RegexRunner.cs
- AncestorChangedEventArgs.cs
- WebServiceMethodData.cs
- ListViewContainer.cs
- DesignTimeValidationFeature.cs
- BufferBuilder.cs
- StringComparer.cs
- CaseStatement.cs
- CqlWriter.cs
- TaskHelper.cs
- FormsAuthenticationConfiguration.cs
- NestedContainer.cs
- QuerySettings.cs
- MarshalByRefObject.cs
- DelegateSerializationHolder.cs
- SyndicationContent.cs
- StringStorage.cs
- UnsafeNativeMethods.cs
- DataSourceGeneratorException.cs
- WSTrustFeb2005.cs
- _Win32.cs
- Deflater.cs
- OleDbWrapper.cs
- TogglePattern.cs
- NativeMethods.cs
- hresults.cs
- CrossSiteScriptingValidation.cs
- SerializableAuthorizationContext.cs
- UserControlParser.cs
- SubstitutionList.cs
- UtilityExtension.cs
- TableHeaderCell.cs
- ForceCopyBuildProvider.cs
- Table.cs
- InvokeBase.cs
- GlyphRunDrawing.cs
- CurrencyManager.cs