Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Shared / MS / Internal / Ink / Native.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ObjectContext.cs
- DebugView.cs
- HostedNamedPipeTransportManager.cs
- ObjectContext.cs
- ProfileWorkflowElement.cs
- RijndaelManagedTransform.cs
- BooleanConverter.cs
- DesignerForm.cs
- ThreadExceptionEvent.cs
- _ListenerAsyncResult.cs
- CreationContext.cs
- XmlAttributeAttribute.cs
- ASCIIEncoding.cs
- DetailsView.cs
- RunInstallerAttribute.cs
- ApplicationDirectory.cs
- ObjectDataSourceMethodEventArgs.cs
- GridViewCancelEditEventArgs.cs
- EntitySqlQueryCacheEntry.cs
- Point4D.cs
- SecurityValidationBehavior.cs
- SpanIndex.cs
- BatchServiceHost.cs
- TemplateControlBuildProvider.cs
- RSAOAEPKeyExchangeFormatter.cs
- XmlNodeChangedEventManager.cs
- XPathAncestorIterator.cs
- ToolStripStatusLabel.cs
- StoreItemCollection.Loader.cs
- RegisteredArrayDeclaration.cs
- ObservableDictionary.cs
- Binding.cs
- ListSortDescriptionCollection.cs
- Vector3dCollection.cs
- ToolStripLocationCancelEventArgs.cs
- DesigntimeLicenseContextSerializer.cs
- objectquery_tresulttype.cs
- HttpException.cs
- ComponentResourceKey.cs
- TypeLibConverter.cs
- UnitySerializationHolder.cs
- FormParameter.cs
- TextTreeExtractElementUndoUnit.cs
- Win32.cs
- OutputCacheSettingsSection.cs
- PkcsMisc.cs
- GeneratedContractType.cs
- WaitHandleCannotBeOpenedException.cs
- Parameter.cs
- PackagePartCollection.cs
- TemplateInstanceAttribute.cs
- ElementNotAvailableException.cs
- ToolStripSystemRenderer.cs
- VectorCollectionValueSerializer.cs
- TransformerTypeCollection.cs
- SafeBitVector32.cs
- Byte.cs
- TemplateDefinition.cs
- FixUp.cs
- WrappedKeySecurityToken.cs
- CodeAttachEventStatement.cs
- EventLogPermissionEntry.cs
- GlobalProxySelection.cs
- DataGridViewRowHeaderCell.cs
- RepeatBehavior.cs
- HtmlInputControl.cs
- SimpleNameService.cs
- NumberEdit.cs
- ContainerParaClient.cs
- PtsPage.cs
- QilTernary.cs
- Mapping.cs
- ConfigurationPermission.cs
- UTF7Encoding.cs
- FormatConvertedBitmap.cs
- FormViewDeleteEventArgs.cs
- DoubleKeyFrameCollection.cs
- ZipIOBlockManager.cs
- ProcessHost.cs
- LowerCaseStringConverter.cs
- DataGridViewColumnStateChangedEventArgs.cs
- localization.cs
- SoapTypeAttribute.cs
- WindowsFormsLinkLabel.cs
- RangeContentEnumerator.cs
- XamlReader.cs
- ObjectIDGenerator.cs
- TiffBitmapDecoder.cs
- AdRotator.cs
- TrackBarRenderer.cs
- WorkflowIdleElement.cs
- ToolStripDropDownClosingEventArgs.cs
- ClientUtils.cs
- ExternalFile.cs
- SchemaImporterExtensionElementCollection.cs
- NamespaceList.cs
- BindingWorker.cs
- SHA512Managed.cs
- SqlEnums.cs
- FontUnit.cs