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
- ClientTargetCollection.cs
- UnsafeNativeMethodsMilCoreApi.cs
- HGlobalSafeHandle.cs
- InstanceOwnerQueryResult.cs
- ObjectRef.cs
- InputScope.cs
- StylusPointPropertyId.cs
- WorkflowApplicationTerminatedException.cs
- FormViewUpdateEventArgs.cs
- Rfc2898DeriveBytes.cs
- TableLayoutStyleCollection.cs
- WorkflowViewManager.cs
- ColorPalette.cs
- WpfWebRequestHelper.cs
- HtmlControlPersistable.cs
- RootBrowserWindowAutomationPeer.cs
- ApplicationException.cs
- WebPartConnectVerb.cs
- IndependentAnimationStorage.cs
- SQLCharsStorage.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ProgressBar.cs
- NamespaceCollection.cs
- WebControlAdapter.cs
- NamespaceImport.cs
- OperationContractAttribute.cs
- MetadataArtifactLoaderFile.cs
- ConstructorExpr.cs
- DataKey.cs
- _WinHttpWebProxyDataBuilder.cs
- RangeValueProviderWrapper.cs
- linebase.cs
- documentsequencetextpointer.cs
- CommandConverter.cs
- ProfileServiceManager.cs
- FixedStringLookup.cs
- RestHandlerFactory.cs
- WindowInteractionStateTracker.cs
- XmlRootAttribute.cs
- x509store.cs
- TraceContext.cs
- XmlLinkedNode.cs
- DocumentSequence.cs
- PropertyBuilder.cs
- NativeActivityContext.cs
- DateTimeConstantAttribute.cs
- ContractMapping.cs
- HexParser.cs
- FileDetails.cs
- XmlAggregates.cs
- DataGridViewDesigner.cs
- AnimatedTypeHelpers.cs
- QilXmlReader.cs
- AuthenticationService.cs
- AndCondition.cs
- NamespaceEmitter.cs
- SchemaImporterExtension.cs
- SatelliteContractVersionAttribute.cs
- ByteConverter.cs
- TableRowCollection.cs
- GeometryGroup.cs
- ScalarType.cs
- TabControlEvent.cs
- StrokeFIndices.cs
- HtmlInputImage.cs
- DbReferenceCollection.cs
- BulletDecorator.cs
- ObsoleteAttribute.cs
- StructuralType.cs
- ItemContainerGenerator.cs
- WindowsBrush.cs
- BroadcastEventHelper.cs
- SafeThreadHandle.cs
- Formatter.cs
- QilLoop.cs
- CodeTypeParameter.cs
- StatusBar.cs
- TextDecorationLocationValidation.cs
- TreeViewBindingsEditor.cs
- WmfPlaceableFileHeader.cs
- Switch.cs
- COM2PropertyDescriptor.cs
- CodeArrayCreateExpression.cs
- DataTemplateSelector.cs
- EdmFunction.cs
- TypeUnloadedException.cs
- ValidateNames.cs
- TCEAdapterGenerator.cs
- IIS7UserPrincipal.cs
- CodeGotoStatement.cs
- JoinTreeSlot.cs
- WebResourceAttribute.cs
- ListItemConverter.cs
- Token.cs
- glyphs.cs
- ComponentResourceKeyConverter.cs
- XamlTypeMapper.cs
- EventItfInfo.cs
- NamedElement.cs
- ValidatorCompatibilityHelper.cs