Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / MS / Internal / CheckedPointers.cs / 1305600 / CheckedPointers.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // Description: Checked pointers for various types // // History: // 05/09/2005: Garyyang Created the file // //--------------------------------------------------------------------------- using System; using System.Security; using MS.Internal.Shaping; using MS.Internal.FontCache; // // The file contains wrapper structs for various pointer types. // This is to allow us passing these pointers safely in layout code and provides // some bound checking. Only construction and probing into these pointers are security critical. // namespace MS.Internal { ////// Checked pointer for (Char*) /// internal struct CheckedCharPointer { ////// Critical - The method takes unsafe pointer /// [SecurityCritical] internal unsafe CheckedCharPointer(char * pointer, int length) { _checkedPointer = new CheckedPointer(pointer, length * sizeof(char)); } ////// Critical - The method returns unsafe pointer /// [SecurityCritical] internal unsafe char * Probe(int offset, int length) { return (char*) _checkedPointer.Probe(offset * sizeof(char), length * sizeof(char)); } private CheckedPointer _checkedPointer; } ////// Checked pointer for (int*) /// internal struct CheckedIntPointer { ////// Critical - The method takes unsafe pointer /// [SecurityCritical] internal unsafe CheckedIntPointer(int * pointer, int length) { _checkedPointer = new CheckedPointer(pointer, length * sizeof(int)); } ////// Critical - The method returns unsafe pointer /// [SecurityCritical] internal unsafe int * Probe(int offset, int length) { return (int *) _checkedPointer.Probe(offset * sizeof(int), length * sizeof(int)); } private CheckedPointer _checkedPointer; } ////// Checked pointer for (ushort*) /// internal struct CheckedUShortPointer { ////// Critical - The method takes unsafe pointer /// [SecurityCritical] internal unsafe CheckedUShortPointer(ushort * pointer, int length) { _checkedPointer = new CheckedPointer(pointer, length * sizeof(ushort)); } ////// Critical - The method returns unsafe pointer /// [SecurityCritical] internal unsafe ushort * Probe(int offset, int length) { return (ushort *) _checkedPointer.Probe(offset * sizeof(ushort), length * sizeof(ushort)); } private CheckedPointer _checkedPointer; } } // 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
- XXXOnTypeBuilderInstantiation.cs
- XmlCountingReader.cs
- OuterGlowBitmapEffect.cs
- AnnotationHighlightLayer.cs
- GradientStopCollection.cs
- SplashScreenNativeMethods.cs
- OuterGlowBitmapEffect.cs
- __Filters.cs
- Size3D.cs
- WindowsTab.cs
- Converter.cs
- xdrvalidator.cs
- WebPartMinimizeVerb.cs
- InvalidCastException.cs
- ControlCollection.cs
- Constants.cs
- SignatureHelper.cs
- DataGridLinkButton.cs
- WebBrowserPermission.cs
- webbrowsersite.cs
- MenuAutomationPeer.cs
- PageAsyncTask.cs
- HttpDictionary.cs
- StylusSystemGestureEventArgs.cs
- ColorInterpolationModeValidation.cs
- TextEndOfParagraph.cs
- SpanIndex.cs
- GeneralTransform3D.cs
- HttpStreamFormatter.cs
- OpenFileDialog.cs
- StateDesigner.Helpers.cs
- WebPartActionVerb.cs
- ToolStripProgressBar.cs
- MemoryFailPoint.cs
- XamlTemplateSerializer.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- OperationCanceledException.cs
- FormattedText.cs
- XmlDataCollection.cs
- AspCompat.cs
- BitmapEffectGeneralTransform.cs
- ExtensibleClassFactory.cs
- SoapAttributeOverrides.cs
- HttpApplicationFactory.cs
- PartitionResolver.cs
- TemplateBindingExpressionConverter.cs
- LiteralTextContainerControlBuilder.cs
- CqlParserHelpers.cs
- BuildProvider.cs
- CompositeScriptReference.cs
- ExceptionHandlerDesigner.cs
- IntSecurity.cs
- CredentialCache.cs
- ActivationArguments.cs
- NextPreviousPagerField.cs
- OverflowException.cs
- SQLBytes.cs
- StaticResourceExtension.cs
- HttpListenerException.cs
- TreeNodeCollection.cs
- TableDetailsRow.cs
- VectorAnimationBase.cs
- AssemblyAttributes.cs
- StructuredCompositeActivityDesigner.cs
- altserialization.cs
- DbMetaDataFactory.cs
- StatusStrip.cs
- SwitchExpression.cs
- Scheduling.cs
- AccessDataSource.cs
- ReadOnlyActivityGlyph.cs
- ISCIIEncoding.cs
- TablePattern.cs
- ListViewDataItem.cs
- EdmError.cs
- SaveFileDialog.cs
- ToolBarDesigner.cs
- OdbcTransaction.cs
- Vector3DIndependentAnimationStorage.cs
- WebMessageEncoderFactory.cs
- ComboBox.cs
- IPGlobalProperties.cs
- PageCatalogPart.cs
- PageThemeBuildProvider.cs
- PersistenceProviderBehavior.cs
- AvTrace.cs
- MinimizableAttributeTypeConverter.cs
- WebResourceAttribute.cs
- ConfigurationStrings.cs
- UInt64Converter.cs
- SqlCachedBuffer.cs
- TransformPatternIdentifiers.cs
- TokenBasedSetEnumerator.cs
- ButtonBaseAutomationPeer.cs
- ColorAnimation.cs
- NumberFunctions.cs
- UriTemplateEquivalenceComparer.cs
- EventNotify.cs
- FieldNameLookup.cs
- Camera.cs