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
- SignatureResourcePool.cs
- TableMethodGenerator.cs
- TextLineBreak.cs
- MaterialGroup.cs
- CheckBox.cs
- InputScopeConverter.cs
- TextRange.cs
- PerformanceCountersElement.cs
- SafeProcessHandle.cs
- XmlSchemaCompilationSettings.cs
- SvcMapFileLoader.cs
- Publisher.cs
- NotFiniteNumberException.cs
- DoubleConverter.cs
- TableLayoutPanelCellPosition.cs
- SynchronizedKeyedCollection.cs
- DetailsViewUpdateEventArgs.cs
- ImageListStreamer.cs
- DefaultTypeArgumentAttribute.cs
- CalendarDayButton.cs
- DocumentsTrace.cs
- NodeLabelEditEvent.cs
- ForceCopyBuildProvider.cs
- GlobalAllocSafeHandle.cs
- InstanceCompleteException.cs
- TagPrefixCollection.cs
- XmlSchemaCollection.cs
- TemplateColumn.cs
- SpecialFolderEnumConverter.cs
- EventLogTraceListener.cs
- ProfileEventArgs.cs
- ContextActivityUtils.cs
- ByteFacetDescriptionElement.cs
- TextWriterTraceListener.cs
- FacetDescriptionElement.cs
- columnmapkeybuilder.cs
- NumberFormatter.cs
- DownloadProgressEventArgs.cs
- DataGridViewRowConverter.cs
- ArithmeticException.cs
- FilteredAttributeCollection.cs
- DrawingVisualDrawingContext.cs
- UnsafeMethods.cs
- SpeechRecognitionEngine.cs
- NumberFormatter.cs
- AsyncContentLoadedEventArgs.cs
- Renderer.cs
- CroppedBitmap.cs
- SerializationSectionGroup.cs
- COM2Properties.cs
- SamlSecurityToken.cs
- SymbolEqualComparer.cs
- CodeMethodReturnStatement.cs
- LinearGradientBrush.cs
- CompositeScriptReferenceEventArgs.cs
- SharedStatics.cs
- NavigationFailedEventArgs.cs
- MenuItemStyle.cs
- ValueQuery.cs
- MissingManifestResourceException.cs
- TextSelectionHighlightLayer.cs
- RegionData.cs
- _ConnectionGroup.cs
- XsltLibrary.cs
- TreeNodeSelectionProcessor.cs
- controlskin.cs
- MenuBase.cs
- ImageSourceConverter.cs
- SystemFonts.cs
- DrawingContextDrawingContextWalker.cs
- _ScatterGatherBuffers.cs
- SerialPort.cs
- OleDbMetaDataFactory.cs
- MetadataUtil.cs
- EllipseGeometry.cs
- GroupBoxAutomationPeer.cs
- TreeViewAutomationPeer.cs
- PngBitmapDecoder.cs
- InvalidComObjectException.cs
- WeakRefEnumerator.cs
- SwitchAttribute.cs
- GraphicsContext.cs
- _NetworkingPerfCounters.cs
- HttpCacheVaryByContentEncodings.cs
- IItemContainerGenerator.cs
- HttpValueCollection.cs
- SafeRightsManagementHandle.cs
- ConsoleCancelEventArgs.cs
- ReadOnlyAttribute.cs
- Group.cs
- ConfigurationCollectionAttribute.cs
- _OverlappedAsyncResult.cs
- MbpInfo.cs
- Rect3D.cs
- WebEventTraceProvider.cs
- Win32NamedPipes.cs
- StorageComplexTypeMapping.cs
- DataSetUtil.cs
- PrefixQName.cs
- wmiprovider.cs