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
- UnsettableComboBox.cs
- RowUpdatingEventArgs.cs
- ColorInterpolationModeValidation.cs
- SectionInformation.cs
- XpsImageSerializationService.cs
- DragEventArgs.cs
- GridViewColumnHeaderAutomationPeer.cs
- MarkedHighlightComponent.cs
- followingquery.cs
- _HelperAsyncResults.cs
- IndentTextWriter.cs
- HTTPAPI_VERSION.cs
- DisplayInformation.cs
- HashFinalRequest.cs
- InheritablePropertyChangeInfo.cs
- TypeSystem.cs
- StrongNameIdentityPermission.cs
- TraceHandler.cs
- EventDescriptor.cs
- ChangeInterceptorAttribute.cs
- Base64Encoder.cs
- EntityDescriptor.cs
- IfAction.cs
- CounterCreationData.cs
- ProfileGroupSettingsCollection.cs
- UrlPath.cs
- PtsHelper.cs
- InnerItemCollectionView.cs
- WindowsListViewItemStartMenu.cs
- TemplateKey.cs
- StorageComplexTypeMapping.cs
- StringValidator.cs
- JsonQNameDataContract.cs
- TreeView.cs
- Quaternion.cs
- MemoryFailPoint.cs
- ViewSimplifier.cs
- SemanticValue.cs
- InvalidFilterCriteriaException.cs
- XmlSchemaSet.cs
- Trigger.cs
- VisualTreeUtils.cs
- Subtract.cs
- Context.cs
- ExpressionConverter.cs
- ConfigUtil.cs
- MethodBody.cs
- ToolStripInSituService.cs
- WSIdentityFaultException.cs
- Tokenizer.cs
- ColumnMapProcessor.cs
- WmlPhoneCallAdapter.cs
- DateTimeSerializationSection.cs
- _TransmitFileOverlappedAsyncResult.cs
- X509ClientCertificateCredentialsElement.cs
- FileRecordSequence.cs
- PerformanceCountersElement.cs
- FormViewModeEventArgs.cs
- ResumeStoryboard.cs
- VariantWrapper.cs
- ArcSegment.cs
- InfoCardProofToken.cs
- CharAnimationBase.cs
- ExpressionEditorSheet.cs
- MsmqIntegrationSecurityElement.cs
- Enlistment.cs
- ServiceModelReg.cs
- LinkButton.cs
- CodePageUtils.cs
- TextTreeUndo.cs
- SaveRecipientRequest.cs
- XmlSerializerSection.cs
- WCFBuildProvider.cs
- PackageFilter.cs
- XmlSecureResolver.cs
- EdmEntityTypeAttribute.cs
- SeverityFilter.cs
- BehaviorService.cs
- ListItem.cs
- PackWebRequestFactory.cs
- MemberAssignment.cs
- ControlBindingsCollection.cs
- BlurBitmapEffect.cs
- HtmlFormWrapper.cs
- ChangesetResponse.cs
- CursorConverter.cs
- InputLanguage.cs
- ExpandedProjectionNode.cs
- DataListAutoFormat.cs
- RectAnimationClockResource.cs
- SqlEnums.cs
- CodeVariableReferenceExpression.cs
- DataGridViewCellStyleConverter.cs
- InstanceData.cs
- ReadOnlyDictionary.cs
- TextFindEngine.cs
- XmlEntityReference.cs
- _NegoState.cs
- Menu.cs
- DataContractSet.cs