Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / Ink / Native.cs / 1305600 / Native.cs
using System; using System.Security; using System.Runtime.InteropServices; namespace MS.Internal.Ink { internal static class Native { ////// Initialize the constants /// ////// Critical: Critical as this code invokes Marshal.SizeOf which uses LinkDemand for UnmanagedCode permission. /// TreatAsSafe: The method doesn't take any user inputs. It only pre-computes the size of our internal types. /// [SecurityCritical, SecurityTreatAsSafe] static Native() { // NOTICE-2005/10/14-WAYNEZEN, // Make sure those lengths are indepentent from the 32bit or 64bit platform. Otherwise it could // break the ISF format. SizeOfInt = (uint)Marshal.SizeOf(typeof(int)); SizeOfUInt = (uint)Marshal.SizeOf(typeof(uint)); SizeOfUShort = (uint)Marshal.SizeOf(typeof(ushort)); SizeOfByte = (uint)Marshal.SizeOf(typeof(byte)); SizeOfFloat = (uint)Marshal.SizeOf(typeof(float)); SizeOfDouble = (uint)Marshal.SizeOf(typeof(double)); SizeOfGuid = (uint)Marshal.SizeOf(typeof(Guid)); SizeOfDecimal = (uint)Marshal.SizeOf(typeof(decimal)); } internal static readonly uint SizeOfInt; // Size of an int internal static readonly uint SizeOfUInt; // Size of an unsigned int internal static readonly uint SizeOfUShort; // Size of an unsigned short internal static readonly uint SizeOfByte; // Size of a byte internal static readonly uint SizeOfFloat; // Size of a float internal static readonly uint SizeOfDouble; // Size of a double internal static readonly uint SizeOfGuid; // Size of a GUID internal static readonly uint SizeOfDecimal; // Size of a VB-style Decimal internal const int BitsPerByte = 8; // number of bits in a byte internal const int BitsPerShort = 16; // number of bits in one short - 2 bytes internal const int BitsPerInt = 32; // number of bits in one integer - 4 bytes internal const int BitsPerLong = 64; // number of bits in one long - 8 bytes // since casting from floats have mantisaa components, // casts from float to int are not constrained by // Int32.MaxValue, but by the maximum float value // whose mantissa component is still within range // of an integer. Anything larger will cause an overflow. internal const int MaxFloatToIntValue = 2147483584 - 1; // 2.14748e+009 } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Security; using System.Runtime.InteropServices; namespace MS.Internal.Ink { internal static class Native { ////// Initialize the constants /// ////// Critical: Critical as this code invokes Marshal.SizeOf which uses LinkDemand for UnmanagedCode permission. /// TreatAsSafe: The method doesn't take any user inputs. It only pre-computes the size of our internal types. /// [SecurityCritical, SecurityTreatAsSafe] static Native() { // NOTICE-2005/10/14-WAYNEZEN, // Make sure those lengths are indepentent from the 32bit or 64bit platform. Otherwise it could // break the ISF format. SizeOfInt = (uint)Marshal.SizeOf(typeof(int)); SizeOfUInt = (uint)Marshal.SizeOf(typeof(uint)); SizeOfUShort = (uint)Marshal.SizeOf(typeof(ushort)); SizeOfByte = (uint)Marshal.SizeOf(typeof(byte)); SizeOfFloat = (uint)Marshal.SizeOf(typeof(float)); SizeOfDouble = (uint)Marshal.SizeOf(typeof(double)); SizeOfGuid = (uint)Marshal.SizeOf(typeof(Guid)); SizeOfDecimal = (uint)Marshal.SizeOf(typeof(decimal)); } internal static readonly uint SizeOfInt; // Size of an int internal static readonly uint SizeOfUInt; // Size of an unsigned int internal static readonly uint SizeOfUShort; // Size of an unsigned short internal static readonly uint SizeOfByte; // Size of a byte internal static readonly uint SizeOfFloat; // Size of a float internal static readonly uint SizeOfDouble; // Size of a double internal static readonly uint SizeOfGuid; // Size of a GUID internal static readonly uint SizeOfDecimal; // Size of a VB-style Decimal internal const int BitsPerByte = 8; // number of bits in a byte internal const int BitsPerShort = 16; // number of bits in one short - 2 bytes internal const int BitsPerInt = 32; // number of bits in one integer - 4 bytes internal const int BitsPerLong = 64; // number of bits in one long - 8 bytes // since casting from floats have mantisaa components, // casts from float to int are not constrained by // Int32.MaxValue, but by the maximum float value // whose mantissa component is still within range // of an integer. Anything larger will cause an overflow. internal const int MaxFloatToIntValue = 2147483584 - 1; // 2.14748e+009 } } // 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
- AssemblyBuilder.cs
- OrderedHashRepartitionEnumerator.cs
- SafeCoTaskMem.cs
- ResourceManager.cs
- ZipPackagePart.cs
- GenericAuthenticationEventArgs.cs
- PolyLineSegment.cs
- Span.cs
- Publisher.cs
- DataGridViewMethods.cs
- RequestQueue.cs
- ListItemCollection.cs
- XmlSchemaInclude.cs
- _SslState.cs
- PreApplicationStartMethodAttribute.cs
- FileSystemEventArgs.cs
- DataViewListener.cs
- EntitySetRetriever.cs
- WaitHandleCannotBeOpenedException.cs
- ItemsPanelTemplate.cs
- WindowsGraphicsCacheManager.cs
- HttpProfileBase.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- GeneralTransform3DCollection.cs
- AuthorizationContext.cs
- GeneralTransform2DTo3D.cs
- ZipIOBlockManager.cs
- WindowsFormsLinkLabel.cs
- JapaneseCalendar.cs
- ColorKeyFrameCollection.cs
- EventListenerClientSide.cs
- CacheEntry.cs
- AttributeTable.cs
- HtmlMeta.cs
- ThreadStateException.cs
- BitmapEffectGeneralTransform.cs
- AbstractDataSvcMapFileLoader.cs
- securitycriticaldataformultiplegetandset.cs
- ImmutableAssemblyCacheEntry.cs
- ReferentialConstraint.cs
- ChangeToolStripParentVerb.cs
- StackBuilderSink.cs
- QueryExecutionOption.cs
- sqlser.cs
- ConnectionInterfaceCollection.cs
- TextRange.cs
- DataGridViewImageColumn.cs
- HttpWriter.cs
- brushes.cs
- BooleanToVisibilityConverter.cs
- XmlArrayItemAttributes.cs
- AttachedAnnotationChangedEventArgs.cs
- LocalFileSettingsProvider.cs
- HtmlInputSubmit.cs
- HtmlTernaryTree.cs
- InstalledFontCollection.cs
- MergeFailedEvent.cs
- OleDbException.cs
- GregorianCalendarHelper.cs
- SelectionItemProviderWrapper.cs
- WeakEventTable.cs
- WebMessageEncodingElement.cs
- SafeHandles.cs
- DesignerActionList.cs
- TextTreeUndo.cs
- FrameworkTextComposition.cs
- SafeNativeMethods.cs
- MetabaseServerConfig.cs
- FullTrustAssembly.cs
- SHA512Managed.cs
- InternalConfigEventArgs.cs
- DateTimeUtil.cs
- TdsParameterSetter.cs
- CodeSubDirectoriesCollection.cs
- CompilerGlobalScopeAttribute.cs
- DataMemberAttribute.cs
- ParagraphVisual.cs
- BindingsCollection.cs
- ipaddressinformationcollection.cs
- LambdaCompiler.ControlFlow.cs
- SynchronizationContextHelper.cs
- HttpChannelFactory.cs
- NumericUpDownAcceleration.cs
- DataBoundControl.cs
- TextSelectionHighlightLayer.cs
- BuilderPropertyEntry.cs
- FontDifferentiator.cs
- ExecutedRoutedEventArgs.cs
- BooleanToVisibilityConverter.cs
- Point3DAnimationUsingKeyFrames.cs
- ContextStack.cs
- QueryStringParameter.cs
- StagingAreaInputItem.cs
- AsyncContentLoadedEventArgs.cs
- ProfileGroupSettings.cs
- DbConnectionInternal.cs
- ConstraintManager.cs
- BindUriHelper.cs
- UnsafeMethods.cs
- ScrollChrome.cs