Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- HttpListener.cs
- TreeNodeEventArgs.cs
- StylusDevice.cs
- FontWeightConverter.cs
- DeclaredTypeValidatorAttribute.cs
- BaseCollection.cs
- NetNamedPipeSecurity.cs
- ThreadAttributes.cs
- TextViewElement.cs
- XmlRootAttribute.cs
- QilBinary.cs
- IPipelineRuntime.cs
- ListViewItem.cs
- DataColumnCollection.cs
- GridViewColumn.cs
- Model3DCollection.cs
- NetNamedPipeBindingElement.cs
- ActivityCodeDomSerializationManager.cs
- AssemblyAttributesGoHere.cs
- SimpleHandlerFactory.cs
- PlatformNotSupportedException.cs
- XamlPathDataSerializer.cs
- SafeThreadHandle.cs
- DbMetaDataCollectionNames.cs
- SqlTriggerAttribute.cs
- HtmlButton.cs
- DragDrop.cs
- DirectoryObjectSecurity.cs
- BitmapEffectGroup.cs
- SimpleMailWebEventProvider.cs
- SQlBooleanStorage.cs
- BaseUriHelper.cs
- RegistryPermission.cs
- VisualStyleElement.cs
- FileUpload.cs
- ResizeGrip.cs
- COM2ExtendedUITypeEditor.cs
- AnnotationAdorner.cs
- TimeoutException.cs
- ResizingMessageFilter.cs
- WebPartTracker.cs
- SoapWriter.cs
- Peer.cs
- XmlArrayItemAttribute.cs
- Context.cs
- PictureBox.cs
- FastEncoderStatics.cs
- ExportOptions.cs
- ChannelRequirements.cs
- DictionaryEntry.cs
- ObjectStorage.cs
- EntitySqlQueryBuilder.cs
- DependencyObjectProvider.cs
- BitmapEncoder.cs
- HttpListenerElement.cs
- ArgumentsParser.cs
- SqlUserDefinedTypeAttribute.cs
- IProvider.cs
- XmlSerializationReader.cs
- ModuleBuilder.cs
- LocalizationParserHooks.cs
- _ListenerAsyncResult.cs
- entityreference_tresulttype.cs
- RotateTransform.cs
- DragSelectionMessageFilter.cs
- DecoderBestFitFallback.cs
- StateInitializationDesigner.cs
- ColumnTypeConverter.cs
- EncryptedData.cs
- WebPartUtil.cs
- ArgIterator.cs
- DoubleAnimationUsingPath.cs
- TemplateContent.cs
- LogWriteRestartAreaAsyncResult.cs
- VarRemapper.cs
- RepeatButtonAutomationPeer.cs
- NamespaceCollection.cs
- TableCellCollection.cs
- FrameSecurityDescriptor.cs
- CompiledQuery.cs
- NativeMethods.cs
- CacheDependency.cs
- PropertyValidationContext.cs
- IntegerCollectionEditor.cs
- NullRuntimeConfig.cs
- DataSourceCache.cs
- MouseEventArgs.cs
- WebServiceErrorEvent.cs
- SecurityElement.cs
- cookieexception.cs
- TraceEventCache.cs
- PrintDialogDesigner.cs
- FixedPageStructure.cs
- SafeRightsManagementQueryHandle.cs
- NameValuePair.cs
- MatrixStack.cs
- RadialGradientBrush.cs
- XmlAutoDetectWriter.cs
- securitycriticaldataformultiplegetandset.cs
- X509SecurityTokenProvider.cs