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
- Win32KeyboardDevice.cs
- WebControlAdapter.cs
- TextTreeUndo.cs
- Timer.cs
- RadialGradientBrush.cs
- Int64Converter.cs
- BaseValidator.cs
- LogicalExpr.cs
- RenderingBiasValidation.cs
- EntityCommandDefinition.cs
- UnsafeNativeMethods.cs
- SqlDataAdapter.cs
- DataBoundLiteralControl.cs
- DoubleLinkListEnumerator.cs
- HwndMouseInputProvider.cs
- BitmapSourceSafeMILHandle.cs
- SqlTopReducer.cs
- X509Certificate2.cs
- TextEffectCollection.cs
- EdmSchemaError.cs
- Assert.cs
- EventManager.cs
- CodeCatchClause.cs
- MultitargetUtil.cs
- ListCommandEventArgs.cs
- BuildResult.cs
- XmlJsonWriter.cs
- TagNameToTypeMapper.cs
- BitmapEffectOutputConnector.cs
- Configuration.cs
- SecurityContextKeyIdentifierClause.cs
- HtmlInputText.cs
- SystemException.cs
- _Semaphore.cs
- NumericUpDown.cs
- SqlDataRecord.cs
- XmlSchemaAnyAttribute.cs
- DesignColumnCollection.cs
- EventManager.cs
- DictionarySectionHandler.cs
- DataServiceQueryProvider.cs
- ToolBar.cs
- CroppedBitmap.cs
- precedingquery.cs
- TemplateInstanceAttribute.cs
- SmtpSection.cs
- SingletonChannelAcceptor.cs
- PolyLineSegmentFigureLogic.cs
- CompensableActivity.cs
- Math.cs
- DataSpaceManager.cs
- SmtpLoginAuthenticationModule.cs
- HitTestParameters.cs
- FeatureManager.cs
- Item.cs
- MiniModule.cs
- InstanceData.cs
- GPStream.cs
- GenericTransactionFlowAttribute.cs
- Utils.cs
- ClockController.cs
- ApplyTemplatesAction.cs
- HttpStaticObjectsCollectionBase.cs
- UrlAuthFailureHandler.cs
- DomNameTable.cs
- TokenCreationException.cs
- DispatcherHookEventArgs.cs
- SQLInt64.cs
- BitmapMetadataEnumerator.cs
- DependsOnAttribute.cs
- NullEntityWrapper.cs
- RenderDataDrawingContext.cs
- Table.cs
- UniqueEventHelper.cs
- ObjectDataSourceMethodEventArgs.cs
- OracleTransaction.cs
- BitmapSourceSafeMILHandle.cs
- BindingWorker.cs
- OutOfMemoryException.cs
- DataSourceView.cs
- ProcessThread.cs
- NeutralResourcesLanguageAttribute.cs
- SemanticKeyElement.cs
- QueryExtender.cs
- EmbeddedMailObject.cs
- XmlEntity.cs
- SqlParameterizer.cs
- CriticalHandle.cs
- ReachSerializationCacheItems.cs
- FrameworkElementFactoryMarkupObject.cs
- _SSPIWrapper.cs
- StringPropertyBuilder.cs
- AppDomainShutdownMonitor.cs
- ConfigXmlSignificantWhitespace.cs
- GeneratedCodeAttribute.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- storagemappingitemcollection.viewdictionary.cs
- CapabilitiesAssignment.cs
- Base64Encoder.cs
- ProfileBuildProvider.cs