Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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 || lInt32.MaxValue || l
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LogicalTreeHelper.cs
- Variable.cs
- CachedBitmap.cs
- WhitespaceRuleLookup.cs
- KerberosSecurityTokenAuthenticator.cs
- PartManifestEntry.cs
- SafeNativeMethodsMilCoreApi.cs
- Geometry.cs
- TextTreeTextNode.cs
- TransformerConfigurationWizardBase.cs
- _ConnectOverlappedAsyncResult.cs
- ButtonChrome.cs
- EntityDataSourceState.cs
- PathGradientBrush.cs
- MulticastNotSupportedException.cs
- UInt32Storage.cs
- RijndaelCryptoServiceProvider.cs
- CheckBoxBaseAdapter.cs
- ProfileProvider.cs
- ServiceTimeoutsBehavior.cs
- ObjectViewEntityCollectionData.cs
- CompilerState.cs
- InvokePattern.cs
- PageVisual.cs
- RegisteredHiddenField.cs
- BindUriHelper.cs
- BitmapSourceSafeMILHandle.cs
- TransformedBitmap.cs
- OdbcConnectionOpen.cs
- ArrowControl.xaml.cs
- WebPartConnectionsCancelEventArgs.cs
- smtppermission.cs
- HttpHeaderCollection.cs
- LongCountAggregationOperator.cs
- Model3DGroup.cs
- CodeSubDirectoriesCollection.cs
- _CacheStreams.cs
- DispatcherProcessingDisabled.cs
- GenericTypeParameterBuilder.cs
- PageStatePersister.cs
- WebBrowserProgressChangedEventHandler.cs
- SoapHeaders.cs
- XmlAnyAttributeAttribute.cs
- TraceSource.cs
- Matrix.cs
- SerializerDescriptor.cs
- MetadataCache.cs
- DiscardableAttribute.cs
- PingOptions.cs
- HashHelper.cs
- CodeCommentStatement.cs
- InheritanceContextHelper.cs
- ConversionValidationRule.cs
- RegexMatch.cs
- RayMeshGeometry3DHitTestResult.cs
- DataControlButton.cs
- MapPathBasedVirtualPathProvider.cs
- FormatConvertedBitmap.cs
- FileDialogCustomPlacesCollection.cs
- diagnosticsswitches.cs
- InputMethodStateTypeInfo.cs
- PropertyGrid.cs
- CodeObjectCreateExpression.cs
- PropertyChangeTracker.cs
- Socket.cs
- DemultiplexingClientMessageFormatter.cs
- HttpServerChannel.cs
- PrintPreviewDialog.cs
- MultipartIdentifier.cs
- SelectionItemPattern.cs
- contentDescriptor.cs
- XhtmlBasicCalendarAdapter.cs
- InstancePersistenceException.cs
- QilInvoke.cs
- SystemIcmpV4Statistics.cs
- XmlSchemaSimpleTypeList.cs
- Int32Storage.cs
- ProfilePropertyMetadata.cs
- PersonalizationProviderHelper.cs
- FixedLineResult.cs
- recordstate.cs
- HttpBufferlessInputStream.cs
- DesignTimeParseData.cs
- MediaSystem.cs
- ProcessHostFactoryHelper.cs
- AmbiguousMatchException.cs
- DefaultClaimSet.cs
- HtmlUtf8RawTextWriter.cs
- PerformanceCounterPermission.cs
- LambdaValue.cs
- KeyFrames.cs
- HttpApplication.cs
- DiscoveryDocumentReference.cs
- PathGeometry.cs
- TableColumnCollectionInternal.cs
- TrackBar.cs
- Exceptions.cs
- VarInfo.cs
- DataSourceCollectionBase.cs
- UnsignedPublishLicense.cs