Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / securitycriticaldataClass.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ApplicationInterop.cs
- WizardForm.cs
- Selector.cs
- DynamicValidatorEventArgs.cs
- WorkflowMarkupSerializationProvider.cs
- Math.cs
- DataErrorValidationRule.cs
- BufferBuilder.cs
- Win32.cs
- Utils.cs
- OleDbInfoMessageEvent.cs
- BitArray.cs
- BlobPersonalizationState.cs
- PathGeometry.cs
- Module.cs
- messageonlyhwndwrapper.cs
- KeysConverter.cs
- RelatedImageListAttribute.cs
- EndpointPerformanceCounters.cs
- processwaithandle.cs
- ResourcesBuildProvider.cs
- SequentialOutput.cs
- ExpressionBindingsDialog.cs
- FindResponse.cs
- XmlNodeList.cs
- XMLSyntaxException.cs
- GridEntryCollection.cs
- MetadataItemSerializer.cs
- SafeTimerHandle.cs
- XamlPointCollectionSerializer.cs
- DataControlPagerLinkButton.cs
- OleDbInfoMessageEvent.cs
- TypeDescriptionProvider.cs
- DecoderBestFitFallback.cs
- ActiveDocumentEvent.cs
- SqlConnection.cs
- TextProviderWrapper.cs
- TransformDescriptor.cs
- BamlTreeUpdater.cs
- CalendarItem.cs
- HttpPostedFile.cs
- AccessibleObject.cs
- DataViewManager.cs
- DLinqDataModelProvider.cs
- Helpers.cs
- TreeBuilderBamlTranslator.cs
- ElementAtQueryOperator.cs
- Matrix.cs
- DataServiceQueryOfT.cs
- MissingFieldException.cs
- Button.cs
- OdbcStatementHandle.cs
- DataGridViewButtonCell.cs
- KeyTimeConverter.cs
- UnSafeCharBuffer.cs
- CollectionConverter.cs
- SiteMapDataSource.cs
- XmlTextReaderImpl.cs
- DesignerActionVerbList.cs
- XmlDeclaration.cs
- WindowHideOrCloseTracker.cs
- RuntimeEnvironment.cs
- SqlDataReader.cs
- StylusCollection.cs
- BuildProvider.cs
- ProxyWebPart.cs
- MouseWheelEventArgs.cs
- BuildProvidersCompiler.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- XmlSubtreeReader.cs
- ManagedFilter.cs
- RelationHandler.cs
- TypeSystemProvider.cs
- Control.cs
- SqlBooleanMismatchVisitor.cs
- RegisteredDisposeScript.cs
- LoadedEvent.cs
- ViewCellSlot.cs
- TemplateControlCodeDomTreeGenerator.cs
- ToolStripDropDownButton.cs
- ServiceProviders.cs
- TextHidden.cs
- SqlConnectionManager.cs
- ZipIOExtraFieldPaddingElement.cs
- TextPattern.cs
- linebase.cs
- XDeferredAxisSource.cs
- SelectionGlyph.cs
- CodeDelegateInvokeExpression.cs
- DataGridViewLinkCell.cs
- DragDropHelper.cs
- StyleSelector.cs
- UriExt.cs
- LoadItemsEventArgs.cs
- RuntimeVariablesExpression.cs
- SchemaNamespaceManager.cs
- DataMemberAttribute.cs
- PartDesigner.cs
- InputProviderSite.cs
- XmlSchemaGroup.cs