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
- WindowsRichEditRange.cs
- CasesDictionary.cs
- Graphics.cs
- SpecialFolderEnumConverter.cs
- TerminatorSinks.cs
- SetMemberBinder.cs
- HostingEnvironmentSection.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- SponsorHelper.cs
- MetadataCache.cs
- DetailsViewUpdatedEventArgs.cs
- MainMenu.cs
- HtmlInputPassword.cs
- FileLoadException.cs
- QueryConverter.cs
- TraceContext.cs
- Int32RectConverter.cs
- SortedList.cs
- MobileSysDescriptionAttribute.cs
- Operator.cs
- SimpleType.cs
- MatrixTransform3D.cs
- MimeFormatExtensions.cs
- TypeBuilderInstantiation.cs
- EventWaitHandleSecurity.cs
- SystemIPAddressInformation.cs
- MouseButtonEventArgs.cs
- EncryptedPackageFilter.cs
- PermissionSetEnumerator.cs
- ProcessModelInfo.cs
- MergeLocalizationDirectives.cs
- NotFiniteNumberException.cs
- SignatureDescription.cs
- ContainsRowNumberChecker.cs
- QilVisitor.cs
- _NetworkingPerfCounters.cs
- DefaultPrintController.cs
- DbDataReader.cs
- StringSorter.cs
- PersonalizationState.cs
- XamlTemplateSerializer.cs
- PreviewKeyDownEventArgs.cs
- DriveNotFoundException.cs
- OlePropertyStructs.cs
- FeedUtils.cs
- PackWebResponse.cs
- TextMarkerSource.cs
- HttpListenerElement.cs
- SoapAttributeAttribute.cs
- TreeViewEvent.cs
- PropertyMap.cs
- MetadataUtilsSmi.cs
- DispatcherSynchronizationContext.cs
- DnsCache.cs
- BufferModesCollection.cs
- EDesignUtil.cs
- EntityContainerRelationshipSetEnd.cs
- Axis.cs
- DebugTraceHelper.cs
- TextSchema.cs
- IPEndPoint.cs
- PkcsMisc.cs
- DefaultValidator.cs
- DetailsViewDeleteEventArgs.cs
- SystemGatewayIPAddressInformation.cs
- regiisutil.cs
- FormsAuthenticationUser.cs
- BitmapVisualManager.cs
- SingleConverter.cs
- ApplicationServicesHostFactory.cs
- SqlDataSource.cs
- CounterSetInstance.cs
- ReplacementText.cs
- EmptyEnumerable.cs
- StatusBarAutomationPeer.cs
- DbResourceAllocator.cs
- DataGridSortCommandEventArgs.cs
- XmlJsonWriter.cs
- StreamReader.cs
- Selection.cs
- ControlAdapter.cs
- AnnotationHelper.cs
- DynamicMethod.cs
- ProviderBase.cs
- Point.cs
- oledbconnectionstring.cs
- ParserStack.cs
- TextDecorationLocationValidation.cs
- StylusSystemGestureEventArgs.cs
- DesignerVerb.cs
- WebPartTracker.cs
- ReflectionTypeLoadException.cs
- WorkflowInlining.cs
- AccessDataSourceView.cs
- ClientSettings.cs
- CheckedListBox.cs
- TraceListeners.cs
- MetadataArtifactLoaderResource.cs
- ImageEditor.cs
- EncodingNLS.cs