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
- DesignerUtility.cs
- PersonalizationProvider.cs
- xamlnodes.cs
- HttpCachePolicy.cs
- DataBindingExpressionBuilder.cs
- RenderData.cs
- BuilderPropertyEntry.cs
- RtType.cs
- PeerNameRegistration.cs
- CodeGroup.cs
- NameObjectCollectionBase.cs
- HttpSysSettings.cs
- ArglessEventHandlerProxy.cs
- NetworkAddressChange.cs
- _Win32.cs
- TableStyle.cs
- ControlTemplate.cs
- ClientRuntimeConfig.cs
- WindowsComboBox.cs
- UniqueCodeIdentifierScope.cs
- EmptyImpersonationContext.cs
- LazyTextWriterCreator.cs
- ZoneLinkButton.cs
- ValidationEventArgs.cs
- NonValidatingSecurityTokenAuthenticator.cs
- InfoCardCryptoHelper.cs
- BulletChrome.cs
- OleDbParameter.cs
- Content.cs
- NumberFormatter.cs
- UnsafeNativeMethods.cs
- ConfigurationSectionGroupCollection.cs
- RoleGroup.cs
- SafeRightsManagementPubHandle.cs
- ReachPageContentSerializerAsync.cs
- _Semaphore.cs
- RangeValueProviderWrapper.cs
- RelationshipManager.cs
- PhysicalFontFamily.cs
- RemoteWebConfigurationHostServer.cs
- Dictionary.cs
- CurrentTimeZone.cs
- BindingSource.cs
- Util.cs
- AnnotationMap.cs
- NavigationProperty.cs
- InputBinder.cs
- NonBatchDirectoryCompiler.cs
- AdapterUtil.cs
- DTCTransactionManager.cs
- KeyProperty.cs
- DbExpressionVisitor.cs
- DataGridViewSortCompareEventArgs.cs
- MergablePropertyAttribute.cs
- XmlCharCheckingWriter.cs
- EnumMemberAttribute.cs
- PersonalizationStateInfo.cs
- TextBox.cs
- Logging.cs
- SynchronizationLockException.cs
- BamlLocalizableResource.cs
- EntityViewGenerator.cs
- CodeAccessSecurityEngine.cs
- EdgeProfileValidation.cs
- SoapTransportImporter.cs
- SystemInfo.cs
- DataStorage.cs
- codemethodreferenceexpression.cs
- XamlStream.cs
- System.Data_BID.cs
- ObjectReferenceStack.cs
- ToReply.cs
- SatelliteContractVersionAttribute.cs
- XmlChildEnumerator.cs
- EmissiveMaterial.cs
- Int32Converter.cs
- Single.cs
- Pair.cs
- DecoderFallback.cs
- KeyValuePair.cs
- SID.cs
- TableItemStyle.cs
- AssemblyHash.cs
- ProcessInfo.cs
- CqlIdentifiers.cs
- ReverseInheritProperty.cs
- TraceListener.cs
- TypeHelpers.cs
- InvokeProviderWrapper.cs
- SinglePageViewer.cs
- Nullable.cs
- AsyncCompletedEventArgs.cs
- VerticalAlignConverter.cs
- LookupBindingPropertiesAttribute.cs
- StrokeCollection.cs
- SqlTypesSchemaImporter.cs
- DataControlFieldHeaderCell.cs
- ParameterInfo.cs
- SqlFileStream.cs
- SamlDoNotCacheCondition.cs