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
- ToolStripDropTargetManager.cs
- SQLDouble.cs
- tooltip.cs
- serverconfig.cs
- LineBreakRecord.cs
- StartUpEventArgs.cs
- RegexBoyerMoore.cs
- BigInt.cs
- WebPartAddingEventArgs.cs
- Int64Storage.cs
- BCryptNative.cs
- Identity.cs
- StorageAssociationSetMapping.cs
- ReachDocumentSequenceSerializerAsync.cs
- SR.Designer.cs
- TdsParameterSetter.cs
- WebPartDisplayModeCancelEventArgs.cs
- DataControlReference.cs
- QueryContinueDragEventArgs.cs
- IBuiltInEvidence.cs
- PreProcessor.cs
- QilUnary.cs
- TextFormatterImp.cs
- CodeEventReferenceExpression.cs
- RSACryptoServiceProvider.cs
- WindowsGrip.cs
- TCPListener.cs
- Point3DAnimation.cs
- XmlDataSourceView.cs
- SystemInfo.cs
- LabelExpression.cs
- DataGridViewToolTip.cs
- TextTreeInsertElementUndoUnit.cs
- WindowsPrincipal.cs
- CallContext.cs
- MissingManifestResourceException.cs
- ColorContextHelper.cs
- XsltConvert.cs
- Transform3DGroup.cs
- ScriptControl.cs
- SByteStorage.cs
- sqlnorm.cs
- LocatorPartList.cs
- AxParameterData.cs
- SvcFileManager.cs
- UDPClient.cs
- FieldBuilder.cs
- AlphaSortedEnumConverter.cs
- SoapClientMessage.cs
- TypographyProperties.cs
- Convert.cs
- DetailsViewDeletedEventArgs.cs
- ExecutedRoutedEventArgs.cs
- Listbox.cs
- StrokeSerializer.cs
- SqlBulkCopyColumnMapping.cs
- SqlProviderManifest.cs
- TrustLevel.cs
- WebPartEditVerb.cs
- MdiWindowListStrip.cs
- ReadOnlyDataSourceView.cs
- IsolatedStorageFileStream.cs
- EmptyReadOnlyDictionaryInternal.cs
- NonParentingControl.cs
- RestHandlerFactory.cs
- IconHelper.cs
- HtmlInputCheckBox.cs
- ControlBuilderAttribute.cs
- XmlNodeList.cs
- XmlDataSourceNodeDescriptor.cs
- Material.cs
- InputLanguage.cs
- DrawingGroupDrawingContext.cs
- MarkupExtensionReturnTypeAttribute.cs
- sqlmetadatafactory.cs
- BamlRecordWriter.cs
- PresentationTraceSources.cs
- _SslState.cs
- DrawingCollection.cs
- XmlSignatureManifest.cs
- Margins.cs
- RepeaterItem.cs
- SqlDataSourceConfigureFilterForm.cs
- ChannelManagerService.cs
- RIPEMD160Managed.cs
- XmlSchemaComplexType.cs
- FixedDocument.cs
- Propagator.cs
- SqlDataSourceRefreshSchemaForm.cs
- QueryOperationResponseOfT.cs
- LayoutInformation.cs
- UpdateInfo.cs
- SqlCacheDependencyDatabase.cs
- BitArray.cs
- XmlWhitespace.cs
- InternalSafeNativeMethods.cs
- Columns.cs
- ScrollViewer.cs
- TypeTypeConverter.cs
- EntityCommandDefinition.cs