Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Shared / MS / Internal / securitycriticaldata.cs / 1 / 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
- MergeFilterQuery.cs
- Dispatcher.cs
- Serializer.cs
- basevalidator.cs
- RegistryDataKey.cs
- TextStore.cs
- TextRangeEditLists.cs
- TabItemWrapperAutomationPeer.cs
- ContractInstanceProvider.cs
- MruCache.cs
- AddInAdapter.cs
- TemplatePagerField.cs
- SQLInt32Storage.cs
- KerberosTicketHashIdentifierClause.cs
- SqlReferenceCollection.cs
- _SecureChannel.cs
- DataGridViewHitTestInfo.cs
- DetailsViewDesigner.cs
- ZipArchive.cs
- TextOutput.cs
- UIElementAutomationPeer.cs
- SmtpNetworkElement.cs
- Simplifier.cs
- safemediahandle.cs
- ColumnBinding.cs
- DrawingAttributesDefaultValueFactory.cs
- FtpWebRequest.cs
- DuplexChannelBinder.cs
- CodeAttachEventStatement.cs
- EventDescriptor.cs
- TryCatchDesigner.xaml.cs
- SafeProcessHandle.cs
- filewebresponse.cs
- CodeSnippetCompileUnit.cs
- DBConcurrencyException.cs
- WinEventTracker.cs
- MessageContractMemberAttribute.cs
- GenericEnumConverter.cs
- HtmlMeta.cs
- ConfigurationCollectionAttribute.cs
- HTMLTagNameToTypeMapper.cs
- EventlogProvider.cs
- CompleteWizardStep.cs
- EntityContainerRelationshipSet.cs
- SqlTriggerAttribute.cs
- Graph.cs
- OleStrCAMarshaler.cs
- OdbcReferenceCollection.cs
- WebPartConnectionsEventArgs.cs
- RenderData.cs
- FragmentQueryProcessor.cs
- NumericUpDownAcceleration.cs
- FormViewInsertedEventArgs.cs
- ExceptionUtil.cs
- AppAction.cs
- ItemsPresenter.cs
- IriParsingElement.cs
- ImageInfo.cs
- XmlUnspecifiedAttribute.cs
- DateTime.cs
- TypedElement.cs
- MouseGestureConverter.cs
- ManagedIStream.cs
- FileBasedResourceGroveler.cs
- TreeView.cs
- WindowsToolbar.cs
- WindowsFormsSectionHandler.cs
- GuidConverter.cs
- AppDomainProtocolHandler.cs
- CellPartitioner.cs
- ExpressionBindings.cs
- TextRunProperties.cs
- DataGridRelationshipRow.cs
- DataGridSortingEventArgs.cs
- HttpHandlersSection.cs
- SQLBytesStorage.cs
- Application.cs
- MenuItemCollectionEditorDialog.cs
- RuleCache.cs
- TableCell.cs
- StringExpressionSet.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- SerializationFieldInfo.cs
- TextRangeProviderWrapper.cs
- NGCPageContentSerializerAsync.cs
- HitTestDrawingContextWalker.cs
- SecurityDescriptor.cs
- UrlMappingsModule.cs
- PtsCache.cs
- DeclarativeConditionsCollection.cs
- LightweightEntityWrapper.cs
- RowUpdatedEventArgs.cs
- StructuredTypeInfo.cs
- CompensatableTransactionScopeActivityDesigner.cs
- MaskedTextBox.cs
- PersonalizationProvider.cs
- MULTI_QI.cs
- BasicExpressionVisitor.cs
- RbTree.cs
- FontWeight.cs