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
- ProfilePropertySettingsCollection.cs
- ResourceWriter.cs
- ICspAsymmetricAlgorithm.cs
- ConfigurationValidatorBase.cs
- Unit.cs
- FullTextState.cs
- NamespaceInfo.cs
- peersecuritysettings.cs
- DoubleConverter.cs
- MulticastIPAddressInformationCollection.cs
- ThreadInterruptedException.cs
- MouseDevice.cs
- StreamGeometryContext.cs
- FixedNode.cs
- DocobjHost.cs
- RadioButtonFlatAdapter.cs
- Mappings.cs
- ColorAnimationUsingKeyFrames.cs
- ThreadPool.cs
- RowBinding.cs
- Int32AnimationUsingKeyFrames.cs
- CommandExpr.cs
- ScriptComponentDescriptor.cs
- BridgeDataRecord.cs
- HelpKeywordAttribute.cs
- LogLogRecordEnumerator.cs
- SizeChangedEventArgs.cs
- SourceElementsCollection.cs
- GrowingArray.cs
- EmptyEnumerator.cs
- Html32TextWriter.cs
- HexParser.cs
- StorageSetMapping.cs
- SqlNodeTypeOperators.cs
- SqlConnectionPoolGroupProviderInfo.cs
- UIHelper.cs
- TreeNodeSelectionProcessor.cs
- XamlReaderConstants.cs
- RtfFormatStack.cs
- DataGridTemplateColumn.cs
- XmlSchemaSet.cs
- SwitchDesigner.xaml.cs
- PaintEvent.cs
- ComponentConverter.cs
- BindingList.cs
- XPathQilFactory.cs
- ActiveXContainer.cs
- WebPartEditorApplyVerb.cs
- InputBinder.cs
- WindowVisualStateTracker.cs
- SqlProvider.cs
- Win32SafeHandles.cs
- SessionIDManager.cs
- ParseNumbers.cs
- ScrollChrome.cs
- TextBox.cs
- Font.cs
- DockPatternIdentifiers.cs
- SafeCryptHandles.cs
- SequentialWorkflowHeaderFooter.cs
- StateChangeEvent.cs
- RowToFieldTransformer.cs
- EncryptedXml.cs
- ReadOnlyDictionary.cs
- UpdateManifestForBrowserApplication.cs
- EventLogEntry.cs
- HttpWebRequest.cs
- UnsafeNativeMethods.cs
- StringStorage.cs
- XmlQualifiedName.cs
- SelectionRangeConverter.cs
- HtmlControlDesigner.cs
- PropertyGridView.cs
- StrongNameKeyPair.cs
- NullExtension.cs
- RegionInfo.cs
- WpfSharedXamlSchemaContext.cs
- PaperSource.cs
- WindowsMenu.cs
- ClientTargetSection.cs
- ToolStripDropDownButton.cs
- SafeEventLogWriteHandle.cs
- XmlSchemaParticle.cs
- CodeGotoStatement.cs
- AssemblyCollection.cs
- WebContext.cs
- CodeSubDirectory.cs
- PathFigureCollection.cs
- XmlUtf8RawTextWriter.cs
- SoapReflector.cs
- TemplateControlParser.cs
- FormClosingEvent.cs
- TextEditorParagraphs.cs
- InvokeGenerator.cs
- AccessText.cs
- Sequence.cs
- columnmapkeybuilder.cs
- SqlRowUpdatingEvent.cs
- TableLayoutStyle.cs
- BuildProvidersCompiler.cs