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
- ErrorActivity.cs
- ColorTranslator.cs
- TreeIterator.cs
- Process.cs
- XamlToRtfWriter.cs
- XmlObjectSerializerWriteContextComplex.cs
- SortedDictionary.cs
- Helper.cs
- OuterGlowBitmapEffect.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- GridSplitterAutomationPeer.cs
- FilterableAttribute.cs
- QueryProcessor.cs
- LicenseProviderAttribute.cs
- SqlUtils.cs
- ApplicationGesture.cs
- ITreeGenerator.cs
- SpellerHighlightLayer.cs
- DataBinder.cs
- DataControlField.cs
- BlurEffect.cs
- FileInfo.cs
- BindStream.cs
- MultiTrigger.cs
- DocumentViewer.cs
- OSEnvironmentHelper.cs
- AutoResetEvent.cs
- DataStorage.cs
- peernodeimplementation.cs
- XmlCharCheckingReader.cs
- PropertyDescriptorComparer.cs
- QilTernary.cs
- ObjectDataSourceView.cs
- WsdlBuildProvider.cs
- OperationFormatStyle.cs
- StatusBar.cs
- XmlSerializerAssemblyAttribute.cs
- TextSpanModifier.cs
- HMACMD5.cs
- ConnectionPool.cs
- DataTableTypeConverter.cs
- DocumentPage.cs
- PropertyTab.cs
- ProcessHost.cs
- ClientUtils.cs
- CategoryList.cs
- LicenseManager.cs
- DataProtection.cs
- WizardStepBase.cs
- IriParsingElement.cs
- CompressionTransform.cs
- UserControlCodeDomTreeGenerator.cs
- XamlStyleSerializer.cs
- FileFormatException.cs
- SqlRowUpdatedEvent.cs
- InputProcessorProfilesLoader.cs
- LogAppendAsyncResult.cs
- ServiceManagerHandle.cs
- InternalCache.cs
- PriorityChain.cs
- ZipIOModeEnforcingStream.cs
- DynamicRendererThreadManager.cs
- LiteralControl.cs
- SchemaCreator.cs
- Run.cs
- PropertyIDSet.cs
- LoginCancelEventArgs.cs
- XmlnsCache.cs
- StateInitialization.cs
- SequenceDesignerAccessibleObject.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- MouseOverProperty.cs
- ListBindableAttribute.cs
- WebBrowserHelper.cs
- CustomSignedXml.cs
- CompilationSection.cs
- ValidatingReaderNodeData.cs
- SystemFonts.cs
- ConfigurationException.cs
- MouseEvent.cs
- EditorZoneBase.cs
- EventlogProvider.cs
- SQLInt64Storage.cs
- SizeAnimationUsingKeyFrames.cs
- EntityViewGenerator.cs
- XmlSchemaIdentityConstraint.cs
- NameNode.cs
- OpenTypeLayout.cs
- TransformPatternIdentifiers.cs
- TabPanel.cs
- OverrideMode.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- TextBox.cs
- GetPageNumberCompletedEventArgs.cs
- printdlgexmarshaler.cs
- UmAlQuraCalendar.cs
- HandleCollector.cs
- filewebresponse.cs
- XmlTextEncoder.cs
- AxisAngleRotation3D.cs