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
- FrameSecurityDescriptor.cs
- PartialCachingAttribute.cs
- HtmlInputImage.cs
- Soap12ServerProtocol.cs
- DateTimeFormatInfo.cs
- CounterCreationDataCollection.cs
- TargetControlTypeAttribute.cs
- DataGridViewCellCollection.cs
- TextBox.cs
- DataGridViewCellParsingEventArgs.cs
- ListViewDeletedEventArgs.cs
- UpdatePanel.cs
- XamlDesignerSerializationManager.cs
- PackageRelationshipSelector.cs
- relpropertyhelper.cs
- ValidationError.cs
- PeerPresenceInfo.cs
- InkCanvasAutomationPeer.cs
- ContentValidator.cs
- XmlObjectSerializerWriteContext.cs
- SafeCryptHandles.cs
- InitializingNewItemEventArgs.cs
- DataTableMappingCollection.cs
- ChildTable.cs
- ContentPlaceHolder.cs
- IsolatedStorageFileStream.cs
- DataErrorValidationRule.cs
- Expressions.cs
- ApplicationServiceHelper.cs
- EncryptedPackageFilter.cs
- DefaultPropertyAttribute.cs
- CallInfo.cs
- TextDocumentView.cs
- IRCollection.cs
- InputLanguageEventArgs.cs
- DataGridViewRow.cs
- AutoGeneratedFieldProperties.cs
- HttpCachePolicyElement.cs
- FixedPageStructure.cs
- TemplateContent.cs
- DesignOnlyAttribute.cs
- DataTemplateSelector.cs
- QilXmlWriter.cs
- ElementMarkupObject.cs
- WaitingCursor.cs
- BindingContext.cs
- SqlCacheDependencySection.cs
- SponsorHelper.cs
- TypeConverters.cs
- DynamicActivityXamlReader.cs
- LockRecoveryTask.cs
- IgnoreSection.cs
- HtmlInputFile.cs
- TreeNodeEventArgs.cs
- TaskDesigner.cs
- DataPagerCommandEventArgs.cs
- String.cs
- TransformerTypeCollection.cs
- Matrix.cs
- LockRecursionException.cs
- SizeAnimationUsingKeyFrames.cs
- PropertyValueUIItem.cs
- OpenFileDialog.cs
- ProfileSection.cs
- PolicyChain.cs
- XPathSingletonIterator.cs
- SqlNotificationEventArgs.cs
- DesigntimeLicenseContextSerializer.cs
- DllNotFoundException.cs
- SqlClientWrapperSmiStream.cs
- VerticalAlignConverter.cs
- DbgUtil.cs
- ObjectDataSourceMethodEventArgs.cs
- ComEventsMethod.cs
- DataGridViewSelectedCellCollection.cs
- StrongNameMembershipCondition.cs
- PreviousTrackingServiceAttribute.cs
- Brushes.cs
- ImpersonationContext.cs
- DataRelationCollection.cs
- BaseTemplateBuildProvider.cs
- WebMessageFormatHelper.cs
- Socket.cs
- HtmlElementCollection.cs
- ControlPropertyNameConverter.cs
- XmlQueryType.cs
- prompt.cs
- PartialArray.cs
- ConstructorArgumentAttribute.cs
- ValidationHelper.cs
- CompensatableTransactionScopeActivity.cs
- HotSpot.cs
- RegionData.cs
- PermissionSet.cs
- MsmqMessage.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- UnsafeMethods.cs
- MdiWindowListStrip.cs
- GridToolTip.cs
- BaseCAMarshaler.cs