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
- DebugView.cs
- IncrementalHitTester.cs
- ToolStripSeparator.cs
- ModuleBuilderData.cs
- CodeSnippetTypeMember.cs
- ColorDialog.cs
- KnownColorTable.cs
- HashHelper.cs
- SkinBuilder.cs
- GACIdentityPermission.cs
- AppManager.cs
- Helper.cs
- PropertyGeneratedEventArgs.cs
- DocumentSchemaValidator.cs
- XmlValidatingReader.cs
- Funcletizer.cs
- KeyNotFoundException.cs
- SqlClientMetaDataCollectionNames.cs
- EmptyCollection.cs
- StreamingContext.cs
- SqlParameter.cs
- DbProviderSpecificTypePropertyAttribute.cs
- Size3D.cs
- TypeValidationEventArgs.cs
- SourceLocationProvider.cs
- validationstate.cs
- SHA256.cs
- TextBounds.cs
- DetailsViewInsertEventArgs.cs
- _UriTypeConverter.cs
- Parameter.cs
- MessageQueueCriteria.cs
- FixedLineResult.cs
- NullRuntimeConfig.cs
- TransformerInfo.cs
- StickyNote.cs
- EntityAdapter.cs
- ConfigsHelper.cs
- Wildcard.cs
- ScriptControlManager.cs
- DataControlImageButton.cs
- TypedTableBase.cs
- EmptyControlCollection.cs
- CodeSnippetStatement.cs
- DataFormats.cs
- Funcletizer.cs
- XmlWhitespace.cs
- SystemIPGlobalStatistics.cs
- ContentType.cs
- PrinterResolution.cs
- IndependentAnimationStorage.cs
- ResourcesBuildProvider.cs
- DataContext.cs
- MemberAccessException.cs
- ScrollItemPattern.cs
- RSAPKCS1SignatureFormatter.cs
- X500Name.cs
- Permission.cs
- EntityDataSourceQueryBuilder.cs
- FlowDocumentPageViewerAutomationPeer.cs
- CompiledWorkflowDefinitionContext.cs
- IdentityModelDictionary.cs
- DetailsViewRow.cs
- MessageSecurityProtocolFactory.cs
- ResourceDescriptionAttribute.cs
- StylusEditingBehavior.cs
- SQLString.cs
- UnmanagedMemoryAccessor.cs
- PersonalizationProviderCollection.cs
- BindToObject.cs
- OutOfProcStateClientManager.cs
- XmlnsPrefixAttribute.cs
- DesignTimeParseData.cs
- RepeaterItemCollection.cs
- PriorityItem.cs
- IIS7WorkerRequest.cs
- AppDomain.cs
- AttributeSetAction.cs
- SchemaEntity.cs
- EpmContentDeSerializer.cs
- HttpListenerTimeoutManager.cs
- DataStreamFromComStream.cs
- Queue.cs
- HtmlToClrEventProxy.cs
- DataGridAutomationPeer.cs
- SvcFileManager.cs
- LineSegment.cs
- StringAttributeCollection.cs
- DesigntimeLicenseContextSerializer.cs
- TextTreeRootTextBlock.cs
- LinkConverter.cs
- LinearGradientBrush.cs
- SqlGenerator.cs
- ObjectStorage.cs
- SchemaCollectionPreprocessor.cs
- PackageProperties.cs
- CurrentChangingEventManager.cs
- TableRowCollection.cs
- PerformanceCounterManager.cs
- InvalidWorkflowException.cs