Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- Point3DAnimationBase.cs
- RtfToken.cs
- ContentControl.cs
- MobileUserControl.cs
- HandlerWithFactory.cs
- TextBoxAutoCompleteSourceConverter.cs
- MessageSecurityOverMsmq.cs
- SequenceFullException.cs
- Tag.cs
- TemplateColumn.cs
- NetStream.cs
- WebPartMovingEventArgs.cs
- HScrollBar.cs
- State.cs
- DataServiceRequest.cs
- RuntimeEnvironment.cs
- Token.cs
- Cell.cs
- QilChoice.cs
- ApplicationGesture.cs
- filewebresponse.cs
- DependencyPropertyAttribute.cs
- CompositionTarget.cs
- AuthorizationRuleCollection.cs
- ConfigurationHandlersInstallComponent.cs
- FontFamilyValueSerializer.cs
- XPathDocumentNavigator.cs
- SelectingProviderEventArgs.cs
- IProvider.cs
- ParsedAttributeCollection.cs
- DataSourceXmlSerializationAttribute.cs
- DesignerVerbToolStripMenuItem.cs
- SmiContext.cs
- IpcClientChannel.cs
- GenericUriParser.cs
- odbcmetadatafactory.cs
- LinearGradientBrush.cs
- RectAnimationUsingKeyFrames.cs
- FixedDocument.cs
- CheckBoxRenderer.cs
- ListView.cs
- ModuleBuilderData.cs
- AssemblyCollection.cs
- ObjectPersistData.cs
- ValueUtilsSmi.cs
- RepeaterDataBoundAdapter.cs
- BindingSource.cs
- Compiler.cs
- FunctionNode.cs
- CheckBox.cs
- SqlCommandSet.cs
- FilterableAttribute.cs
- TreeNodeCollection.cs
- LoadWorkflowAsyncResult.cs
- ExtendedProtectionPolicy.cs
- AsyncResult.cs
- SqlInternalConnectionSmi.cs
- EdmPropertyAttribute.cs
- StringValidator.cs
- DesignerPainter.cs
- WebPartConnectionCollection.cs
- Misc.cs
- RegistrationServices.cs
- PerfService.cs
- OleDbRowUpdatedEvent.cs
- EventlogProvider.cs
- CheckBox.cs
- VectorCollectionValueSerializer.cs
- DetailsViewDesigner.cs
- ReliableOutputSessionChannel.cs
- IDataContractSurrogate.cs
- DispatcherObject.cs
- GridViewAutoFormat.cs
- KnownTypes.cs
- SqlBulkCopyColumnMapping.cs
- ListViewCancelEventArgs.cs
- Compiler.cs
- MailSettingsSection.cs
- TreeNode.cs
- CompressionTransform.cs
- SqlMultiplexer.cs
- brushes.cs
- DockPattern.cs
- NamedElement.cs
- XmlSchemaType.cs
- UnescapedXmlDiagnosticData.cs
- HandlerMappingMemo.cs
- CaseInsensitiveHashCodeProvider.cs
- basenumberconverter.cs
- DataPointer.cs
- DropDownButton.cs
- MessageSecurityProtocolFactory.cs
- SiteMapPath.cs
- UIHelper.cs
- WebBrowserProgressChangedEventHandler.cs
- DtdParser.cs
- FormViewInsertedEventArgs.cs
- ScriptReferenceBase.cs
- WorkBatch.cs
- XmlNodeComparer.cs