Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- TreeNodeBindingDepthConverter.cs
- XPathPatternBuilder.cs
- TextEditorThreadLocalStore.cs
- IpcManager.cs
- DataGridViewAutoSizeModeEventArgs.cs
- OracleDataAdapter.cs
- DataControlFieldCell.cs
- MsmqIntegrationElement.cs
- SspiWrapper.cs
- ConnectivityStatus.cs
- MarkupCompilePass2.cs
- XmlConvert.cs
- WebPartEditorApplyVerb.cs
- HttpListenerException.cs
- NameScope.cs
- XmlSerializationReader.cs
- IsolatedStorageFilePermission.cs
- DebugInfoGenerator.cs
- DataGrid.cs
- ItemType.cs
- CmsInterop.cs
- XmlSchemaExporter.cs
- PixelShader.cs
- DefaultValueConverter.cs
- UserControl.cs
- WebBrowserContainer.cs
- SoapInteropTypes.cs
- ErrorLog.cs
- DecimalKeyFrameCollection.cs
- TreeNodeEventArgs.cs
- ComponentDispatcherThread.cs
- ClientBuildManagerCallback.cs
- ClientScriptManager.cs
- BevelBitmapEffect.cs
- CalendarDay.cs
- EventsTab.cs
- SpellerHighlightLayer.cs
- hwndwrapper.cs
- AnimationException.cs
- DispatcherExceptionEventArgs.cs
- CaseInsensitiveHashCodeProvider.cs
- ElementAtQueryOperator.cs
- EntityDataSourceValidationException.cs
- KeyNameIdentifierClause.cs
- HttpListenerRequestTraceRecord.cs
- WinCategoryAttribute.cs
- DataGridTextBox.cs
- LOSFormatter.cs
- DataGridSortCommandEventArgs.cs
- Win32.cs
- DetailsViewInsertedEventArgs.cs
- SparseMemoryStream.cs
- ParameterDataSourceExpression.cs
- CheckBoxList.cs
- DomNameTable.cs
- StrokeNodeOperations2.cs
- OrderedDictionary.cs
- EndpointInfoCollection.cs
- Application.cs
- CreateUserWizardStep.cs
- ProtocolsConfiguration.cs
- FastEncoder.cs
- FileDialog.cs
- MDIControlStrip.cs
- DescendantBaseQuery.cs
- SqlServer2KCompatibilityAnnotation.cs
- OutputCacheModule.cs
- XmlSchemaAny.cs
- EngineSite.cs
- InkCanvas.cs
- CellParagraph.cs
- ValidationSummary.cs
- SplitterPanelDesigner.cs
- GradientSpreadMethodValidation.cs
- GAC.cs
- DetailsViewPageEventArgs.cs
- MD5.cs
- VersionConverter.cs
- AvTraceFormat.cs
- DataGridViewDataErrorEventArgs.cs
- DataServiceQuery.cs
- MailMessageEventArgs.cs
- MetadataItemEmitter.cs
- ListGeneralPage.cs
- HwndKeyboardInputProvider.cs
- ClaimTypes.cs
- SecurityUtils.cs
- DataGridViewColumnEventArgs.cs
- AttributeProviderAttribute.cs
- AutomationTextAttribute.cs
- TrackingConditionCollection.cs
- Transform3D.cs
- StrongNameKeyPair.cs
- PathSegmentCollection.cs
- WpfKnownMember.cs
- SqlDuplicator.cs
- DataControlFieldTypeEditor.cs
- CannotUnloadAppDomainException.cs
- InputReportEventArgs.cs
- TextEvent.cs