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
- ExpressionHelper.cs
- DataGridColumnHeader.cs
- DecimalSumAggregationOperator.cs
- XmlMapping.cs
- InheritedPropertyChangedEventArgs.cs
- TabPage.cs
- WinEventHandler.cs
- CatalogPartCollection.cs
- TypeLibraryHelper.cs
- HtmlGenericControl.cs
- ImmutableObjectAttribute.cs
- KeyInstance.cs
- BuildResult.cs
- StreamAsIStream.cs
- DesignerForm.cs
- ContentValidator.cs
- SoapIncludeAttribute.cs
- WhitespaceRuleLookup.cs
- TypePresenter.xaml.cs
- NumericExpr.cs
- KeyTime.cs
- DataMisalignedException.cs
- ReadOnlyCollectionBase.cs
- LocationSectionRecord.cs
- PackagePart.cs
- FolderBrowserDialogDesigner.cs
- TPLETWProvider.cs
- SharedTcpTransportManager.cs
- DbParameterCollectionHelper.cs
- NativeMethodsOther.cs
- SecurityDocument.cs
- LifetimeServices.cs
- XamlTreeBuilder.cs
- figurelength.cs
- ContractCodeDomInfo.cs
- ResourcesBuildProvider.cs
- NumericUpDownAccelerationCollection.cs
- SR.cs
- StructuredTypeEmitter.cs
- ListViewGroupItemCollection.cs
- loginstatus.cs
- EntityContainerEmitter.cs
- TypeExtensionSerializer.cs
- MappingException.cs
- SqlPersonalizationProvider.cs
- Lasso.cs
- ErrorRuntimeConfig.cs
- GridView.cs
- ListBoxItemAutomationPeer.cs
- DeviceContexts.cs
- ExpressionConverter.cs
- UserNamePasswordClientCredential.cs
- XmlDataSource.cs
- CodeSubDirectoriesCollection.cs
- FragmentNavigationEventArgs.cs
- SubqueryTrackingVisitor.cs
- SmiContext.cs
- TextDpi.cs
- SqlXmlStorage.cs
- PermissionRequestEvidence.cs
- FieldDescriptor.cs
- AxisAngleRotation3D.cs
- PolicyDesigner.cs
- BulletedListEventArgs.cs
- XomlCompilerError.cs
- DataGridItemEventArgs.cs
- ThemeDirectoryCompiler.cs
- XslException.cs
- TagPrefixAttribute.cs
- CookieProtection.cs
- ObjectPersistData.cs
- HijriCalendar.cs
- VisualSerializer.cs
- AssociationSetMetadata.cs
- TraceHandlerErrorFormatter.cs
- ListBindableAttribute.cs
- Matrix.cs
- UpDownEvent.cs
- WorkflowOperationInvoker.cs
- BlockingCollection.cs
- NumericUpDown.cs
- _ScatterGatherBuffers.cs
- CollectionChangedEventManager.cs
- SerializableAttribute.cs
- ControlCodeDomSerializer.cs
- ObservableDictionary.cs
- DbTransaction.cs
- CTreeGenerator.cs
- PersonalizableTypeEntry.cs
- NamedPermissionSet.cs
- BindingBase.cs
- DataGridColumnStyleMappingNameEditor.cs
- SettingsPropertyIsReadOnlyException.cs
- PKCS1MaskGenerationMethod.cs
- Publisher.cs
- QueryRewriter.cs
- TrackingProfileDeserializationException.cs
- InkSerializer.cs
- BasePattern.cs
- SafeNativeMethodsMilCoreApi.cs