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
- LocationUpdates.cs
- XhtmlCssHandler.cs
- UntrustedRecipientException.cs
- XmlHierarchicalDataSourceView.cs
- SerialErrors.cs
- AnimationClock.cs
- DataServiceRequest.cs
- ConnectionPoint.cs
- UIInitializationException.cs
- FrameworkPropertyMetadata.cs
- DocumentOrderQuery.cs
- DesignerEditorPartChrome.cs
- FunctionImportElement.cs
- CngAlgorithm.cs
- ComplexPropertyEntry.cs
- QueueProcessor.cs
- HttpListenerContext.cs
- EventQueueState.cs
- BooleanConverter.cs
- DesignTableCollection.cs
- TrackingParameters.cs
- Validator.cs
- Events.cs
- coordinator.cs
- TransactionTable.cs
- ClientSettingsSection.cs
- Int32RectConverter.cs
- ValueTypeFixupInfo.cs
- RegisteredExpandoAttribute.cs
- DetailsViewRow.cs
- TextBox.cs
- ValidationHelper.cs
- RenderData.cs
- EventRoute.cs
- UriSchemeKeyedCollection.cs
- EncoderNLS.cs
- DotExpr.cs
- SqlBulkCopy.cs
- HttpNamespaceReservationInstallComponent.cs
- DataStreamFromComStream.cs
- WindowPattern.cs
- CollectionViewGroupRoot.cs
- MethodBuilderInstantiation.cs
- ContextMenu.cs
- ColumnMap.cs
- AvTraceDetails.cs
- FormDocumentDesigner.cs
- MultiByteCodec.cs
- FactoryGenerator.cs
- Point3DAnimation.cs
- XmlDictionaryReader.cs
- ComponentResourceManager.cs
- Pointer.cs
- DataGridViewCellValueEventArgs.cs
- EventManager.cs
- FormsAuthenticationConfiguration.cs
- QualifiedCellIdBoolean.cs
- DocumentPageTextView.cs
- PointHitTestResult.cs
- AuthenticateEventArgs.cs
- UrlMapping.cs
- DataControlCommands.cs
- CollaborationHelperFunctions.cs
- EntityDataSourceStatementEditorForm.cs
- GeneralTransformGroup.cs
- ScrollProperties.cs
- InputLanguage.cs
- TextEditorMouse.cs
- SqlWorkflowPersistenceService.cs
- ConnectionInterfaceCollection.cs
- XmlSchemaSimpleContentRestriction.cs
- DynamicEntity.cs
- OrCondition.cs
- XmlSchemaChoice.cs
- TransactedReceiveData.cs
- TextAction.cs
- HWStack.cs
- EnumType.cs
- SiteMapPath.cs
- ScriptDescriptor.cs
- StoreItemCollection.cs
- XmlHierarchyData.cs
- InputProcessorProfilesLoader.cs
- ObservableDictionary.cs
- UriSectionReader.cs
- ReverseQueryOperator.cs
- SkinBuilder.cs
- Encoding.cs
- ConfigXmlSignificantWhitespace.cs
- AxWrapperGen.cs
- XmlCharCheckingReader.cs
- DebugHandleTracker.cs
- XmlMapping.cs
- DiscoveryEndpoint.cs
- AjaxFrameworkAssemblyAttribute.cs
- View.cs
- __ComObject.cs
- LayoutManager.cs
- NotImplementedException.cs
- ShowExpandedMultiValueConverter.cs