Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Shared / MS / Internal / Ink / Native.cs / 1 / 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
- _LocalDataStore.cs
- FormatterServices.cs
- StaticContext.cs
- DecoderExceptionFallback.cs
- SystemWebExtensionsSectionGroup.cs
- mansign.cs
- storepermission.cs
- DataListItemCollection.cs
- OdbcRowUpdatingEvent.cs
- Camera.cs
- XmlILOptimizerVisitor.cs
- HiddenField.cs
- DataGridRowAutomationPeer.cs
- HWStack.cs
- SelectionProviderWrapper.cs
- GridViewActionList.cs
- CompositeActivityValidator.cs
- PerfService.cs
- RegistryPermission.cs
- ColumnReorderedEventArgs.cs
- CacheDict.cs
- PageHandlerFactory.cs
- BitmapEffect.cs
- StringWriter.cs
- SerializationException.cs
- FileDialogCustomPlace.cs
- DataRelationCollection.cs
- XmlCountingReader.cs
- OledbConnectionStringbuilder.cs
- ObjectStateEntry.cs
- PrintPreviewGraphics.cs
- Bezier.cs
- Context.cs
- CompositionDesigner.cs
- AdditionalEntityFunctions.cs
- ValidationPropertyAttribute.cs
- OleDbErrorCollection.cs
- IChannel.cs
- XmlSignatureManifest.cs
- TextTreeNode.cs
- TempFiles.cs
- XmlReaderDelegator.cs
- RemoteWebConfigurationHostServer.cs
- XPathCompileException.cs
- DataGridViewCellMouseEventArgs.cs
- SubqueryRules.cs
- WebPartEditVerb.cs
- Compilation.cs
- HybridWebProxyFinder.cs
- MetadataItemCollectionFactory.cs
- _AutoWebProxyScriptWrapper.cs
- JsonWriter.cs
- ObfuscationAttribute.cs
- ControlAdapter.cs
- ColorAnimation.cs
- DoWorkEventArgs.cs
- Graph.cs
- BoundPropertyEntry.cs
- EntityConnectionStringBuilder.cs
- PenContext.cs
- CodeGroup.cs
- WeakEventTable.cs
- WebPartConnectionCollection.cs
- HttpModulesSection.cs
- ComponentResourceManager.cs
- Annotation.cs
- TabItem.cs
- StringValidatorAttribute.cs
- NotConverter.cs
- TemplatedMailWebEventProvider.cs
- PropertyItem.cs
- DoubleKeyFrameCollection.cs
- UnsafeNativeMethods.cs
- RegexBoyerMoore.cs
- SecurityTokenSpecification.cs
- DeleteHelper.cs
- GridViewUpdatedEventArgs.cs
- SerializerDescriptor.cs
- ListControlStringCollectionEditor.cs
- BufferedReadStream.cs
- HealthMonitoringSectionHelper.cs
- ObjectReaderCompiler.cs
- WebCategoryAttribute.cs
- PreservationFileReader.cs
- Control.cs
- BaseComponentEditor.cs
- InputProviderSite.cs
- AppAction.cs
- XmlEncodedRawTextWriter.cs
- AsymmetricAlgorithm.cs
- SiteMapNode.cs
- SpeechDetectedEventArgs.cs
- DSASignatureFormatter.cs
- KeySplineConverter.cs
- BaseTemplateBuildProvider.cs
- OptimizerPatterns.cs
- Emitter.cs
- WebMessageEncodingBindingElement.cs
- UdpConstants.cs
- DocumentationServerProtocol.cs