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
- HealthMonitoringSectionHelper.cs
- HotSpotCollection.cs
- X509CertificateCollection.cs
- LinearKeyFrames.cs
- SqlInternalConnectionTds.cs
- HierarchicalDataSourceControl.cs
- Dispatcher.cs
- WebPartConnectionCollection.cs
- Function.cs
- XmlReflectionMember.cs
- RegexEditorDialog.cs
- SplayTreeNode.cs
- StickyNote.cs
- XamlToRtfParser.cs
- DesignerForm.cs
- MultiDataTrigger.cs
- BreakRecordTable.cs
- PageSetupDialog.cs
- SQLStringStorage.cs
- MediaContextNotificationWindow.cs
- SqlEnums.cs
- FormsAuthenticationUser.cs
- StringArrayConverter.cs
- TreeNodeClickEventArgs.cs
- LinkedList.cs
- PlanCompiler.cs
- TextElementAutomationPeer.cs
- SignatureHelper.cs
- FormViewCommandEventArgs.cs
- WebRequestModulesSection.cs
- EntityDesignerDataSourceView.cs
- PaperSource.cs
- Symbol.cs
- LineGeometry.cs
- X509Certificate2Collection.cs
- Hash.cs
- TextElement.cs
- coordinatorscratchpad.cs
- CryptoKeySecurity.cs
- SqlCachedBuffer.cs
- ScriptManager.cs
- WebPartPersonalization.cs
- RichTextBoxConstants.cs
- AppearanceEditorPart.cs
- EmbeddedMailObjectCollectionEditor.cs
- RC2.cs
- VisualStyleTypesAndProperties.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- InputLangChangeEvent.cs
- PathStreamGeometryContext.cs
- WsdlBuildProvider.cs
- WeakReadOnlyCollection.cs
- TraceLevelStore.cs
- EdmEntityTypeAttribute.cs
- HtmlWindowCollection.cs
- XmlnsCache.cs
- DataGridViewRowPrePaintEventArgs.cs
- SourceChangedEventArgs.cs
- DescriptionAttribute.cs
- ResourcesChangeInfo.cs
- TrustSection.cs
- TimeSpanMinutesConverter.cs
- ObjectContext.cs
- XhtmlBasicValidationSummaryAdapter.cs
- CompareValidator.cs
- _UriSyntax.cs
- ActiveXSite.cs
- ExpressionBuilderContext.cs
- UnsafeNativeMethods.cs
- MulticastOption.cs
- SqlDataSourceView.cs
- RuntimeConfigLKG.cs
- DataGridViewRow.cs
- Assert.cs
- CompleteWizardStep.cs
- Invariant.cs
- WindowsUpDown.cs
- TracedNativeMethods.cs
- WSDualHttpSecurityElement.cs
- ClientSponsor.cs
- FormatConvertedBitmap.cs
- DeviceContext2.cs
- ActiveXContainer.cs
- ColumnMap.cs
- BrowserTree.cs
- GridViewRowEventArgs.cs
- DbRetry.cs
- CryptoHelper.cs
- ErrorWrapper.cs
- LocatorManager.cs
- ThreadPool.cs
- ServiceInstanceProvider.cs
- ReversePositionQuery.cs
- InertiaExpansionBehavior.cs
- TextBox.cs
- CountdownEvent.cs
- DataRecordObjectView.cs
- ConsumerConnectionPoint.cs
- GeneralTransform3DGroup.cs
- IpcClientChannel.cs