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
- TimeSpanMinutesConverter.cs
- ScriptManagerProxy.cs
- DbConnectionPoolOptions.cs
- ObjectDataSourceSelectingEventArgs.cs
- SizeIndependentAnimationStorage.cs
- ImageButton.cs
- XLinq.cs
- ELinqQueryState.cs
- Parser.cs
- OleDbConnectionFactory.cs
- CngAlgorithm.cs
- EnumUnknown.cs
- FixedTextSelectionProcessor.cs
- BufferBuilder.cs
- X500Name.cs
- TextBoxRenderer.cs
- RawTextInputReport.cs
- XsdSchemaFileEditor.cs
- MessagingActivityHelper.cs
- ReferencedAssembly.cs
- DuplicateContext.cs
- SoapObjectWriter.cs
- XmlSchemaExporter.cs
- ScrollChangedEventArgs.cs
- DesignTimeSiteMapProvider.cs
- UIAgentMonitorHandle.cs
- SmiXetterAccessMap.cs
- SystemBrushes.cs
- basevalidator.cs
- FormsAuthentication.cs
- CodeMethodReturnStatement.cs
- LinqDataSourceStatusEventArgs.cs
- RadioButton.cs
- _AutoWebProxyScriptHelper.cs
- GenericUriParser.cs
- ControlParameter.cs
- CatalogPartCollection.cs
- BasicHttpBinding.cs
- ToolStripManager.cs
- PropertyGridEditorPart.cs
- TimelineCollection.cs
- ImageSource.cs
- ComPlusInstanceContextInitializer.cs
- ManagementException.cs
- CustomCredentialPolicy.cs
- MasterPageParser.cs
- WmlCommandAdapter.cs
- ObjectQueryState.cs
- OdbcReferenceCollection.cs
- AnnotationMap.cs
- AudienceUriMode.cs
- MessageSmuggler.cs
- SqlDependency.cs
- DeleteHelper.cs
- TTSEvent.cs
- EnumDataContract.cs
- AesCryptoServiceProvider.cs
- PreviewPrintController.cs
- DebugManager.cs
- MarkupCompiler.cs
- DataControlFieldCollection.cs
- HostExecutionContextManager.cs
- IsolatedStoragePermission.cs
- DispatcherHooks.cs
- SessionConnectionReader.cs
- VisualStates.cs
- SocketElement.cs
- BamlLocalizableResource.cs
- XmlFormatExtensionPrefixAttribute.cs
- ToolStripMenuItem.cs
- ObjectQueryState.cs
- NotCondition.cs
- TreeIterators.cs
- ResolveRequestResponseAsyncResult.cs
- WebReferencesBuildProvider.cs
- InputReportEventArgs.cs
- FreezableOperations.cs
- StyleXamlTreeBuilder.cs
- NetMsmqSecurityMode.cs
- BCryptHashAlgorithm.cs
- SerialErrors.cs
- TextOnlyOutput.cs
- CompareInfo.cs
- PropertyDescriptor.cs
- SiteMapSection.cs
- SchemaAttDef.cs
- FileDialogCustomPlacesCollection.cs
- FontInfo.cs
- TextFormatter.cs
- MediaEntryAttribute.cs
- TemplateControlBuildProvider.cs
- SoapObjectWriter.cs
- ValidatingReaderNodeData.cs
- FileDialogCustomPlace.cs
- CodeCatchClause.cs
- Scheduler.cs
- SchemaManager.cs
- FrameworkPropertyMetadata.cs
- X500Name.cs
- UnicastIPAddressInformationCollection.cs