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
- ThemeableAttribute.cs
- ValueOfAction.cs
- OneOf.cs
- ImageAttributes.cs
- DataGridColumnHeaderAutomationPeer.cs
- OdbcConnectionString.cs
- RuntimeArgumentHandle.cs
- LicenseContext.cs
- HttpDebugHandler.cs
- LayoutInformation.cs
- CommandBindingCollection.cs
- RotateTransform.cs
- AttributeUsageAttribute.cs
- ToolStripComboBox.cs
- DataControlFieldCell.cs
- ContainerParaClient.cs
- DBCommand.cs
- CodeNamespaceImportCollection.cs
- TemplateBuilder.cs
- InheritedPropertyChangedEventArgs.cs
- Point4DConverter.cs
- SqlBinder.cs
- Event.cs
- Operand.cs
- XXXInfos.cs
- HttpResponseHeader.cs
- SQLSingle.cs
- QilXmlReader.cs
- KeyGestureConverter.cs
- _ConnectOverlappedAsyncResult.cs
- FileDialog_Vista_Interop.cs
- SecurityContextCookieSerializer.cs
- UriSection.cs
- ActivityXRefPropertyEditor.cs
- COM2ExtendedTypeConverter.cs
- DocumentReferenceCollection.cs
- SessionPageStateSection.cs
- OrderByBuilder.cs
- GeneralTransform.cs
- MessageBox.cs
- BitmapEffectGeneralTransform.cs
- ResponseBodyWriter.cs
- UDPClient.cs
- ConfigurationStrings.cs
- PrimitiveXmlSerializers.cs
- SafeArrayRankMismatchException.cs
- ParentQuery.cs
- DnsPermission.cs
- StylusTip.cs
- DescendantBaseQuery.cs
- SQLInt64Storage.cs
- TextDecoration.cs
- mansign.cs
- DataGridState.cs
- FragmentQueryKB.cs
- XmlComplianceUtil.cs
- WebContentFormatHelper.cs
- CodeEntryPointMethod.cs
- ExpandableObjectConverter.cs
- ProcessHostServerConfig.cs
- TextLineBreak.cs
- CollectionCodeDomSerializer.cs
- Byte.cs
- ProfileGroupSettings.cs
- StrokeFIndices.cs
- XmlElementAttributes.cs
- PaperSource.cs
- ProfileParameter.cs
- WebPartEditorOkVerb.cs
- HttpResponseBase.cs
- ResourceAssociationSet.cs
- ContractHandle.cs
- DataGridViewComboBoxColumn.cs
- MarkupCompilePass1.cs
- SelectionPattern.cs
- HijriCalendar.cs
- TextRangeSerialization.cs
- SchemaImporterExtensionElement.cs
- LinkConverter.cs
- ZoneButton.cs
- WMIGenerator.cs
- Helpers.cs
- RemoteWebConfigurationHostServer.cs
- ConnectionPointConverter.cs
- FieldDescriptor.cs
- PropertyBuilder.cs
- ControlParameter.cs
- EntityDataSourceSelectingEventArgs.cs
- DataGridParentRows.cs
- IIS7WorkerRequest.cs
- MultiBinding.cs
- MsmqHostedTransportConfiguration.cs
- HighContrastHelper.cs
- QilStrConcatenator.cs
- PanelStyle.cs
- AxHost.cs
- PropertyInfo.cs
- JsonFormatWriterGenerator.cs
- CacheVirtualItemsEvent.cs
- MD5.cs