Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- Mappings.cs
- BrowserDefinitionCollection.cs
- UrlMappingsSection.cs
- Calendar.cs
- QueryInterceptorAttribute.cs
- ObjectStateEntryDbDataRecord.cs
- MenuItemStyleCollectionEditor.cs
- ExtensionSimplifierMarkupObject.cs
- ConfigurationSectionHelper.cs
- BindingBase.cs
- ICollection.cs
- TagNameToTypeMapper.cs
- ProvidersHelper.cs
- HtmlInputControl.cs
- RsaSecurityToken.cs
- DropDownList.cs
- SettingsBase.cs
- wgx_sdk_version.cs
- NCryptNative.cs
- NamespaceQuery.cs
- SqlFileStream.cs
- SR.cs
- ToolStripLocationCancelEventArgs.cs
- CommandHelpers.cs
- BufferedGenericXmlSecurityToken.cs
- _SSPIWrapper.cs
- BlurEffect.cs
- EventRoute.cs
- EpmSyndicationContentSerializer.cs
- BinaryNode.cs
- BufferModesCollection.cs
- StrongNameUtility.cs
- PatternMatcher.cs
- MessageQueueException.cs
- FormatVersion.cs
- Material.cs
- sqlser.cs
- PassportAuthenticationModule.cs
- ToolStripDropDownItem.cs
- ItemChangedEventArgs.cs
- SelectionRange.cs
- ArrayWithOffset.cs
- SortedList.cs
- EntityTypeBase.cs
- ListSourceHelper.cs
- ClaimTypes.cs
- CompilerScope.Storage.cs
- TracePayload.cs
- OutOfProcStateClientManager.cs
- ServiceManager.cs
- DispatcherSynchronizationContext.cs
- HttpContextBase.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- HttpListener.cs
- AffineTransform3D.cs
- OneOf.cs
- TextServicesCompartmentContext.cs
- BuildResultCache.cs
- ImportCatalogPart.cs
- Assembly.cs
- XmlSchemaExternal.cs
- ToolStripLabel.cs
- SQLSingle.cs
- httpserverutility.cs
- UndirectedGraph.cs
- ImageSource.cs
- TextAutomationPeer.cs
- ContextBase.cs
- AssemblyBuilderData.cs
- CapabilitiesPattern.cs
- DataGridViewBand.cs
- XmlDownloadManager.cs
- CSharpCodeProvider.cs
- ProcessModelInfo.cs
- messageonlyhwndwrapper.cs
- ConfigurationProperty.cs
- XamlVector3DCollectionSerializer.cs
- CompositeTypefaceMetrics.cs
- AnchoredBlock.cs
- SqlWebEventProvider.cs
- SmtpAuthenticationManager.cs
- PostBackOptions.cs
- BasicHttpMessageSecurityElement.cs
- PkcsUtils.cs
- SourceFileBuildProvider.cs
- ImageListUtils.cs
- SecurityTokenException.cs
- TabItem.cs
- DataGridLinkButton.cs
- OdbcDataAdapter.cs
- XmlWriterDelegator.cs
- TypeListConverter.cs
- XmlNavigatorFilter.cs
- EpmContentDeSerializerBase.cs
- HealthMonitoringSectionHelper.cs
- DispatcherOperation.cs
- FixedSOMImage.cs
- BindValidationContext.cs
- EntityContainerAssociationSet.cs
- DefaultValueTypeConverter.cs