Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / IntPtr.cs / 1 / IntPtr.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: IntPtr ** ** ** Purpose: Platform independent integer ** ** ===========================================================*/ namespace System { using System; using System.Globalization; using System.Runtime.Serialization; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public struct IntPtr : ISerializable { unsafe private void* m_value; // The compiler treats void* closest to uint hence explicit casts are required to preserve int behavior public static readonly IntPtr Zero; // fast way to compare IntPtr to (IntPtr)0 while IntPtr.Zero doesn't work due to slow statics access [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal unsafe bool IsNull() { return (this.m_value == null); } [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public unsafe IntPtr(int value) { #if WIN32 m_value = (void *)value; #else m_value = (void *)(long)value; #endif } [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public unsafe IntPtr(long value) { #if WIN32 m_value = (void *)checked((int)value); #else m_value = (void *)value; #endif } [CLSCompliant(false)] [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)] public unsafe IntPtr(void* value) { m_value = value; } private unsafe IntPtr(SerializationInfo info, StreamingContext context) { long l = info.GetInt64("value"); if (Size==4 && (l>Int32.MaxValue || l
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListBindableAttribute.cs
- VerificationAttribute.cs
- JavascriptXmlWriterWrapper.cs
- ProjectionPruner.cs
- TextFormatter.cs
- SqlNotificationRequest.cs
- MessageQueueTransaction.cs
- NamedElement.cs
- SecurityTokenTypes.cs
- WrappingXamlSchemaContext.cs
- DataSourceCacheDurationConverter.cs
- FixedTextPointer.cs
- TraceHandler.cs
- ResXBuildProvider.cs
- Point3DAnimation.cs
- RecordBuilder.cs
- WriteableBitmap.cs
- SettingsPropertyNotFoundException.cs
- LeftCellWrapper.cs
- PersonalizablePropertyEntry.cs
- DelimitedListTraceListener.cs
- CompositionCommandSet.cs
- Point3DCollectionConverter.cs
- TemplateBuilder.cs
- ColorInterpolationModeValidation.cs
- ConsoleCancelEventArgs.cs
- XmlBufferReader.cs
- FileSystemInfo.cs
- SubstitutionList.cs
- IUnknownConstantAttribute.cs
- WindowsScroll.cs
- SystemUdpStatistics.cs
- ColorPalette.cs
- WebProxyScriptElement.cs
- ConnectionManagementSection.cs
- CodeEntryPointMethod.cs
- ButtonColumn.cs
- Attributes.cs
- DataMisalignedException.cs
- ByteStreamMessageUtility.cs
- SemaphoreSecurity.cs
- ManagementScope.cs
- PropertyCollection.cs
- HttpListenerRequest.cs
- ServiceDescription.cs
- ExpressionBinding.cs
- DmlSqlGenerator.cs
- AutomationPattern.cs
- ExpandSegment.cs
- StaticExtension.cs
- Parameter.cs
- WebPartMenu.cs
- FilterInvalidBodyAccessException.cs
- PointAnimationUsingKeyFrames.cs
- KeyedCollection.cs
- WindowsRegion.cs
- LessThan.cs
- ValidationError.cs
- UrlMapping.cs
- TextDecoration.cs
- JsonEncodingStreamWrapper.cs
- StatusBarDrawItemEvent.cs
- DataSourceNameHandler.cs
- EntityDataSourceColumn.cs
- AllowedAudienceUriElement.cs
- ConversionValidationRule.cs
- XmlSchemaAttribute.cs
- DataGridCommandEventArgs.cs
- ExtensionWindow.cs
- WrappedIUnknown.cs
- ProxyAttribute.cs
- SQLBytesStorage.cs
- CorrelationRequestContext.cs
- ListViewGroupCollectionEditor.cs
- DotExpr.cs
- NameNode.cs
- ProviderException.cs
- ConfigXmlAttribute.cs
- StrongNameIdentityPermission.cs
- PartitionResolver.cs
- DesignerWidgets.cs
- ContentHostHelper.cs
- HtmlValidationSummaryAdapter.cs
- DefaultSerializationProviderAttribute.cs
- InputLanguage.cs
- ProfileGroupSettingsCollection.cs
- RC2CryptoServiceProvider.cs
- XmlDictionaryWriter.cs
- SaveFileDialog.cs
- HttpStreamXmlDictionaryReader.cs
- TaiwanCalendar.cs
- TransformedBitmap.cs
- ModuleBuilder.cs
- DataColumnCollection.cs
- InputScope.cs
- EventWaitHandleSecurity.cs
- TypefaceMap.cs
- XslCompiledTransform.cs
- EntityViewContainer.cs
- ScrollChrome.cs