Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DurableInstanceProvider.cs
- ScriptResourceDefinition.cs
- SMSvcHost.cs
- ConfigXmlText.cs
- RegexTree.cs
- StyleSheetRefUrlEditor.cs
- Dispatcher.cs
- SafeFileMappingHandle.cs
- XmlRawWriter.cs
- AspCompat.cs
- InProcStateClientManager.cs
- X509CertificateEndpointIdentity.cs
- SQLMembershipProvider.cs
- PresentationTraceSources.cs
- SocketException.cs
- DbConnectionInternal.cs
- SortQuery.cs
- ParseHttpDate.cs
- RegexParser.cs
- CodeNamespace.cs
- DataRow.cs
- SafeProcessHandle.cs
- RegexGroupCollection.cs
- Grammar.cs
- DataControlFieldCollection.cs
- EdmItemError.cs
- PrintDialog.cs
- XamlTreeBuilder.cs
- Stacktrace.cs
- RoutedEvent.cs
- Converter.cs
- StandardMenuStripVerb.cs
- XXXInfos.cs
- MD5CryptoServiceProvider.cs
- SqlUnionizer.cs
- MarkupExtensionParser.cs
- WrappedIUnknown.cs
- DynamicRendererThreadManager.cs
- DataGridViewColumnHeaderCell.cs
- AddValidationError.cs
- _PooledStream.cs
- CatalogPart.cs
- Win32NamedPipes.cs
- FamilyMap.cs
- EntityClientCacheKey.cs
- UriTemplateCompoundPathSegment.cs
- BaseValidator.cs
- TokenBasedSet.cs
- CalendarTable.cs
- FixedSOMFixedBlock.cs
- SQLBoolean.cs
- ShadowGlyph.cs
- TextEditorDragDrop.cs
- Latin1Encoding.cs
- CheckBox.cs
- ExeConfigurationFileMap.cs
- TypeToken.cs
- RelationshipFixer.cs
- TypeForwardedToAttribute.cs
- smtppermission.cs
- DataServiceQueryProvider.cs
- Perspective.cs
- TextRangeEditTables.cs
- ConstrainedDataObject.cs
- SpellerInterop.cs
- CollectionCodeDomSerializer.cs
- Token.cs
- WithParamAction.cs
- EventToken.cs
- DataBindingList.cs
- WorkItem.cs
- ItemChangedEventArgs.cs
- PageParserFilter.cs
- Int32CollectionValueSerializer.cs
- NumberAction.cs
- TextOnlyOutput.cs
- PtsContext.cs
- VolatileEnlistmentState.cs
- Camera.cs
- ListSourceHelper.cs
- MetafileHeaderWmf.cs
- GridViewPageEventArgs.cs
- ResXResourceSet.cs
- CodeFieldReferenceExpression.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- EdmItemCollection.cs
- HtmlSelect.cs
- IdentifierCollection.cs
- MemberDescriptor.cs
- PageStatePersister.cs
- StateRuntime.cs
- LinkClickEvent.cs
- TreeNodeStyle.cs
- UniqueIdentifierService.cs
- BypassElementCollection.cs
- HttpsTransportElement.cs
- SystemGatewayIPAddressInformation.cs
- ToolStripPanelRenderEventArgs.cs
- GridPattern.cs
- TemplateBamlTreeBuilder.cs