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
- GridViewEditEventArgs.cs
- SHA256Managed.cs
- DataGridBeginningEditEventArgs.cs
- MailDefinition.cs
- SafeFileMappingHandle.cs
- DirectoryInfo.cs
- XPathScanner.cs
- __TransparentProxy.cs
- UInt16.cs
- CompiledIdentityConstraint.cs
- CompoundFileStorageReference.cs
- ReversePositionQuery.cs
- NavigationPropertyAccessor.cs
- SourceSwitch.cs
- MimeMapping.cs
- AnnotationDocumentPaginator.cs
- ComplexType.cs
- ItemsPanelTemplate.cs
- XmlEnumAttribute.cs
- QilCloneVisitor.cs
- Util.cs
- ButtonChrome.cs
- DynamicPropertyHolder.cs
- UpDownEvent.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- HotSpot.cs
- DockAndAnchorLayout.cs
- ParamArrayAttribute.cs
- KeyboardEventArgs.cs
- FormsAuthenticationEventArgs.cs
- CreateUserErrorEventArgs.cs
- ButtonBaseAdapter.cs
- TreeViewEvent.cs
- ObjectViewQueryResultData.cs
- SqlDataSourceEnumerator.cs
- HorizontalAlignConverter.cs
- SerializableTypeCodeDomSerializer.cs
- NetworkAddressChange.cs
- GlyphRun.cs
- SystemIcons.cs
- ParseNumbers.cs
- CompletionProxy.cs
- WorkflowMarkupSerializer.cs
- VBCodeProvider.cs
- FontWeight.cs
- FontConverter.cs
- WebBrowserNavigatedEventHandler.cs
- ResourcesGenerator.cs
- ConfigurationValidatorAttribute.cs
- ObjectPersistData.cs
- TreeIterator.cs
- WindowsRegion.cs
- WebFaultClientMessageInspector.cs
- NoClickablePointException.cs
- Automation.cs
- ToolStripContextMenu.cs
- MediaElement.cs
- BaseTreeIterator.cs
- CheckBox.cs
- PropertyGridView.cs
- _SslState.cs
- listviewsubitemcollectioneditor.cs
- CodeEventReferenceExpression.cs
- Graph.cs
- ResXFileRef.cs
- ImageAutomationPeer.cs
- GenerateDerivedKeyRequest.cs
- DiscoveryClientDuplexChannel.cs
- InternalBase.cs
- DetailsViewDeleteEventArgs.cs
- DependencyPropertyConverter.cs
- AssertValidation.cs
- RestClientProxyHandler.cs
- X509IssuerSerialKeyIdentifierClause.cs
- SystemKeyConverter.cs
- DynamicRendererThreadManager.cs
- GZipStream.cs
- MemberProjectedSlot.cs
- SortedDictionary.cs
- InstanceContext.cs
- EntryWrittenEventArgs.cs
- UrlAuthorizationModule.cs
- XmlSchemaSubstitutionGroup.cs
- ModelItemCollection.cs
- ValidationHelper.cs
- ResourcePart.cs
- HandlerBase.cs
- XmlBaseWriter.cs
- ConfigurationPropertyAttribute.cs
- CurrencyWrapper.cs
- EventProxy.cs
- CompilerLocalReference.cs
- RoleManagerSection.cs
- StringReader.cs
- Axis.cs
- PageThemeParser.cs
- OleDbDataAdapter.cs
- TreeViewCancelEvent.cs
- OleDbRowUpdatingEvent.cs
- StylesEditorDialog.cs