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
- CodeCatchClauseCollection.cs
- MobileErrorInfo.cs
- nulltextcontainer.cs
- KeyboardNavigation.cs
- ListDictionary.cs
- BaseDataBoundControlDesigner.cs
- SplayTreeNode.cs
- HttpListenerResponse.cs
- SimpleHandlerBuildProvider.cs
- ButtonColumn.cs
- GenericsInstances.cs
- BinaryWriter.cs
- XmlComment.cs
- InstanceHandleConflictException.cs
- UnknownWrapper.cs
- SqlRemoveConstantOrderBy.cs
- Canvas.cs
- DataGridViewCell.cs
- HttpEncoderUtility.cs
- ExceptionUtil.cs
- PrintPreviewGraphics.cs
- Listbox.cs
- HotCommands.cs
- StreamInfo.cs
- ContentPathSegment.cs
- SpeechUI.cs
- AuthenticationSection.cs
- WmlPhoneCallAdapter.cs
- LinkButton.cs
- HtmlInputFile.cs
- ImageClickEventArgs.cs
- MSHTMLHostUtil.cs
- ImageField.cs
- AssemblySettingAttributes.cs
- SynchronizingStream.cs
- TypographyProperties.cs
- MemberRelationshipService.cs
- SchemaTableColumn.cs
- Vector3DCollectionConverter.cs
- SymmetricAlgorithm.cs
- Transform.cs
- DesignerInterfaces.cs
- SQLMoneyStorage.cs
- PasswordRecoveryAutoFormat.cs
- LineBreak.cs
- ImportContext.cs
- CfgRule.cs
- ObservableDictionary.cs
- relpropertyhelper.cs
- MappedMetaModel.cs
- RightsManagementPermission.cs
- compensatingcollection.cs
- SQLByte.cs
- CodeRemoveEventStatement.cs
- UnicodeEncoding.cs
- ApplicationHost.cs
- CheckBox.cs
- Transform3DGroup.cs
- SerialStream.cs
- ClientEventManager.cs
- EdgeProfileValidation.cs
- IndexedSelectQueryOperator.cs
- NavigateEvent.cs
- _SingleItemRequestCache.cs
- SeekableReadStream.cs
- SkewTransform.cs
- Crypto.cs
- NativeMethods.cs
- CheckBoxStandardAdapter.cs
- Int32Rect.cs
- EnterpriseServicesHelper.cs
- InstanceCreationEditor.cs
- Serializer.cs
- OpCopier.cs
- MetadataCollection.cs
- Vector.cs
- EnvironmentPermission.cs
- ListViewEditEventArgs.cs
- BaseAsyncResult.cs
- WindowsStreamSecurityBindingElement.cs
- MonthChangedEventArgs.cs
- PrtCap_Public_Simple.cs
- DBCommand.cs
- Filter.cs
- SByteConverter.cs
- HebrewCalendar.cs
- columnmapfactory.cs
- StandardMenuStripVerb.cs
- ReadOnlyHierarchicalDataSourceView.cs
- RelOps.cs
- WebPartCatalogCloseVerb.cs
- TaskFormBase.cs
- Quaternion.cs
- WeakEventManager.cs
- IsolatedStorageException.cs
- EndpointDiscoveryElement.cs
- MetaData.cs
- RuleInfoComparer.cs
- DiffuseMaterial.cs
- TypeCacheManager.cs