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
- SimpleType.cs
- PageClientProxyGenerator.cs
- TabControl.cs
- ZipPackagePart.cs
- VBCodeProvider.cs
- WindowsGraphicsCacheManager.cs
- PageVisual.cs
- DataObjectPastingEventArgs.cs
- GenericEnumConverter.cs
- MetadataSource.cs
- SerialStream.cs
- SBCSCodePageEncoding.cs
- IconHelper.cs
- BitmapEffectInput.cs
- MatrixTransform3D.cs
- Rect3D.cs
- XmlSchemaSimpleContentRestriction.cs
- ConfigurationElement.cs
- HwndProxyElementProvider.cs
- BuildResult.cs
- WSDualHttpSecurityElement.cs
- StatusInfoItem.cs
- XPathBuilder.cs
- MailWriter.cs
- Typeface.cs
- NegatedCellConstant.cs
- HtmlSelect.cs
- SizeFConverter.cs
- CodeTypeReferenceExpression.cs
- WebBrowserProgressChangedEventHandler.cs
- InfoCard.cs
- X509Extension.cs
- VisualCollection.cs
- ObservableDictionary.cs
- BitmapEffectCollection.cs
- PageBuildProvider.cs
- StateWorkerRequest.cs
- Send.cs
- AuthenticationException.cs
- EmptyQuery.cs
- ScrollChrome.cs
- HtmlInputReset.cs
- SoapReflectionImporter.cs
- AssociationTypeEmitter.cs
- DataGridComboBoxColumn.cs
- SkinBuilder.cs
- TextEndOfSegment.cs
- XmlQueryOutput.cs
- PropertyChangingEventArgs.cs
- MeshGeometry3D.cs
- WindowsListView.cs
- ImportCatalogPart.cs
- _SingleItemRequestCache.cs
- EventMap.cs
- TextEvent.cs
- ProcessModuleCollection.cs
- DispatcherOperation.cs
- AuthenticationService.cs
- HttpCachePolicyElement.cs
- PermissionListSet.cs
- DataGridViewCellStyleConverter.cs
- MouseCaptureWithinProperty.cs
- DBSchemaRow.cs
- MinimizableAttributeTypeConverter.cs
- EDesignUtil.cs
- CheckStoreFileValidityRequest.cs
- CorrelationValidator.cs
- JsonFormatReaderGenerator.cs
- ImpersonationContext.cs
- ValidationErrorInfo.cs
- SynchronizedReadOnlyCollection.cs
- ListViewEditEventArgs.cs
- RelationHandler.cs
- RefreshPropertiesAttribute.cs
- DiagnosticTrace.cs
- DataGridItemEventArgs.cs
- TextBoxAutomationPeer.cs
- Tokenizer.cs
- InstanceStoreQueryResult.cs
- InkCanvasAutomationPeer.cs
- ItemType.cs
- ProgressBar.cs
- GridViewDeletedEventArgs.cs
- ArglessEventHandlerProxy.cs
- RecipientInfo.cs
- DiagnosticsConfiguration.cs
- System.Data_BID.cs
- AdornerHitTestResult.cs
- ResourceLoader.cs
- ChunkedMemoryStream.cs
- _LazyAsyncResult.cs
- ValueType.cs
- DataServiceBehavior.cs
- DoubleIndependentAnimationStorage.cs
- SimpleTypeResolver.cs
- AttributeCollection.cs
- EntityDataSourceColumn.cs
- ControlBuilder.cs
- TPLETWProvider.cs
- RowCache.cs