Code:
/ FX-1434 / FX-1434 / 1.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
- ListViewTableRow.cs
- QueryableDataSourceView.cs
- ShutDownListener.cs
- ValueHandle.cs
- SamlAuthorizationDecisionClaimResource.cs
- CurrencyWrapper.cs
- ECDiffieHellman.cs
- NamespaceList.cs
- URL.cs
- PersonalizationProviderHelper.cs
- BooleanAnimationUsingKeyFrames.cs
- EdmToObjectNamespaceMap.cs
- Object.cs
- DeclarationUpdate.cs
- TimeoutConverter.cs
- NullableFloatAverageAggregationOperator.cs
- WebEventCodes.cs
- KeyGestureConverter.cs
- SecurityCriticalDataForSet.cs
- _NestedMultipleAsyncResult.cs
- ConfigXmlDocument.cs
- CollectionsUtil.cs
- WebPartZoneBase.cs
- CustomAttributeFormatException.cs
- ProtocolsConfiguration.cs
- ButtonBase.cs
- DataGridViewCellValidatingEventArgs.cs
- Compiler.cs
- GraphicsContext.cs
- GeneralTransform3DTo2D.cs
- Manipulation.cs
- SerializationEventsCache.cs
- XamlToRtfWriter.cs
- VideoDrawing.cs
- SqlMetaData.cs
- FtpWebRequest.cs
- BuilderPropertyEntry.cs
- CustomCategoryAttribute.cs
- X509ChainPolicy.cs
- PolicyLevel.cs
- TextTreeExtractElementUndoUnit.cs
- MappingSource.cs
- IPPacketInformation.cs
- OrCondition.cs
- DataKeyCollection.cs
- SmtpReplyReader.cs
- VirtualPath.cs
- RijndaelManagedTransform.cs
- PromptStyle.cs
- ExternalDataExchangeService.cs
- FormsAuthentication.cs
- FontStyles.cs
- MenuAdapter.cs
- ParsedAttributeCollection.cs
- TypeSystemHelpers.cs
- ColumnClickEvent.cs
- BuildProviderAppliesToAttribute.cs
- SqlOuterApplyReducer.cs
- FlowDocumentReaderAutomationPeer.cs
- IApplicationTrustManager.cs
- MissingFieldException.cs
- DesignerCategoryAttribute.cs
- SmiRequestExecutor.cs
- ColorConverter.cs
- GroupDescription.cs
- SqlDependencyListener.cs
- OracleRowUpdatedEventArgs.cs
- GraphicsPathIterator.cs
- Oid.cs
- SchemaTableOptionalColumn.cs
- MailMessage.cs
- Collection.cs
- IntPtr.cs
- SqlMultiplexer.cs
- QueryHandler.cs
- PropertyDescriptorGridEntry.cs
- XmlElementList.cs
- XmlConvert.cs
- TaiwanLunisolarCalendar.cs
- RouteTable.cs
- ParameterToken.cs
- CryptoConfig.cs
- DesignerCategoryAttribute.cs
- StrokeNodeEnumerator.cs
- StateDesigner.Helpers.cs
- ReferencedCategoriesDocument.cs
- WsrmMessageInfo.cs
- TextRenderer.cs
- PropertyManager.cs
- ChtmlImageAdapter.cs
- TypedReference.cs
- CompilerHelpers.cs
- SettingsAttributeDictionary.cs
- RegexMatch.cs
- WindowsListViewGroupSubsetLink.cs
- NativeMethods.cs
- ReadOnlyMetadataCollection.cs
- CacheOutputQuery.cs
- ZipIOCentralDirectoryFileHeader.cs
- DataDocumentXPathNavigator.cs