System.IntPtr.cs

ylbtech-System.IntPtr.cs
1.返回顶部
1、
#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll
#endregion

using System.Runtime.ConstrainedExecution;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Runtime.Versioning;
using System.Security;

namespace System
{
    //
    // 摘要:
    //     用于表示指针或句柄的平台特定类型。
    [ComVisible(true)]
    public struct IntPtr : ISerializable
    {
        //
        // 摘要:
        //     表示已初始化为零的指针或句柄的只读字段。
        public static readonly IntPtr Zero;

        //
        // 摘要:
        //     使用指定的 32 位指针或句柄初始化 System.IntPtr 的新实例。
        //
        // 参数:
        //   value:
        //     32 位有符号整数中包含的指针或句柄。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        [SecuritySafeCritical]
        public IntPtr(int value);
        //
        // 摘要:
        //     使用指定的 64 位指针初始化 System.IntPtr 的新实例。
        //
        // 参数:
        //   value:
        //     64 位有符号整数中包含的指针或句柄。
        //
        // 异常:
        //   T:System.OverflowException:
        //     在 32 位平台上,value太大或太小而无法表示为System.IntPtr。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        [SecuritySafeCritical]
        public IntPtr(long value);
        //
        // 摘要:
        //     使用指定的指向未指定类型的指针初始化 System.IntPtr 的新实例。
        //
        // 参数:
        //   value:
        //     指向未指定类型的指针。
        [CLSCompliant(false)]
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        [SecurityCritical]
        public IntPtr(void* value);

        //
        // 摘要:
        //     获取此实例的大小。
        //
        // 返回结果:
        //     此进程中的指针或句柄的大小(以字节为单位)。 此属性的值在 32 位进程中为 4,在 64 位进程中为 8。 通过 C# 和 Visual Basic 编译器编译代码时,可以通过设置
        //     /platform 开关定义该进程类型。
        public static int Size { get; }

        //
        // 摘要:
        //     为指针值添加偏移量。
        //
        // 参数:
        //   pointer:
        //     要为其增加偏移量的指针。
        //
        //   offset:
        //     要增加的偏移量。
        //
        // 返回结果:
        //     反映为 offset 增加 pointer 的新指针。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        public static IntPtr Add(IntPtr pointer, int offset);
        //
        // 摘要:
        //     从指针值中减去偏移量。
        //
        // 参数:
        //   pointer:
        //     要从中减去偏移量的指针。
        //
        //   offset:
        //     要减去的偏移量。
        //
        // 返回结果:
        //     反映从 offset 中减去 pointer 的新指针。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        public static IntPtr Subtract(IntPtr pointer, int offset);
        //
        // 摘要:
        //     返回一个值,该值指示此实例是否等于指定的对象。
        //
        // 参数:
        //   obj:
        //     要与此示例比较的对象,或 null。
        //
        // 返回结果:
        //     如果 true 是 obj 的实例并且等于此实例的值,则为 System.IntPtr;否则为 false。
        [SecuritySafeCritical]
        public override bool Equals(object obj);
        //
        // 摘要:
        //     返回此实例的哈希代码。
        //
        // 返回结果:
        //     32 位有符号整数哈希代码。
        [SecuritySafeCritical]
        public override int GetHashCode();
        //
        // 摘要:
        //     将此实例的值转换为 32 位有符号整数。
        //
        // 返回结果:
        //     与此实例的值相等的 32 位有符号整数。
        //
        // 异常:
        //   T:System.OverflowException:
        //     在 64 位平台上,此实例的值是太大或太小而无法表示为一个 32 位带符号整数。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
        [SecuritySafeCritical]
        public int ToInt32();
        //
        // 摘要:
        //     将此实例的值转换为 64 位有符号整数。
        //
        // 返回结果:
        //     与此实例的值相等的 64 位有符号整数。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
        [SecuritySafeCritical]
        public long ToInt64();
        //
        // 摘要:
        //     将此实例的值转换为指向未指定类型的指针。
        //
        // 返回结果:
        //     指向 System.Void 的指针,即是说,该指针所指向的内存包含有未指定类型的数据。
        [CLSCompliant(false)]
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
        [SecuritySafeCritical]
        public void* ToPointer();
        //
        // 摘要:
        //     将当前 System.IntPtr 对象的数值转换为其等效字符串表示形式。
        //
        // 返回结果:
        //     此实例的值的字符串表示形式。
        [SecuritySafeCritical]
        public override string ToString();
        //
        // 摘要:
        //     将当前 System.IntPtr 对象的数值转换为其等效字符串表示形式。
        //
        // 参数:
        //   format:
        //     控制当前 System.IntPtr 对象转换方式的格式规范。
        //
        // 返回结果:
        //     当前 System.IntPtr 对象的值的字符串表示形式。
        [SecuritySafeCritical]
        public string ToString(string format);

        //
        // 摘要:
        //     为指针值添加偏移量。
        //
        // 参数:
        //   pointer:
        //     要为其增加偏移量的指针。
        //
        //   offset:
        //     要增加的偏移量。
        //
        // 返回结果:
        //     反映为 offset 增加 pointer 的新指针。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        public static IntPtr operator +(IntPtr pointer, int offset);
        //
        // 摘要:
        //     从指针值中减去偏移量。
        //
        // 参数:
        //   pointer:
        //     要从中减去偏移量的指针。
        //
        //   offset:
        //     要减去的偏移量。
        //
        // 返回结果:
        //     反映从 offset 中减去 pointer 的新指针。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        public static IntPtr operator -(IntPtr pointer, int offset);
        //
        // 摘要:
        //     确定 System.IntPtr 的两个指定的实例是否相等。
        //
        // 参数:
        //   value1:
        //     要比较的第一个指针或句柄。
        //
        //   value2:
        //     要比较的第二个指针或句柄。
        //
        // 返回结果:
        //     如果 value1 等于 value2,则为 true否则为 false。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
        [SecuritySafeCritical]
        public static bool operator ==(IntPtr value1, IntPtr value2);
        //
        // 摘要:
        //     确定 System.IntPtr 的两个指定的实例是否不等。
        //
        // 参数:
        //   value1:
        //     要比较的第一个指针或句柄。
        //
        //   value2:
        //     要比较的第二个指针或句柄。
        //
        // 返回结果:
        //     如果 value1 不等于 value2,则为 true否则为 false。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
        [SecuritySafeCritical]
        public static bool operator !=(IntPtr value1, IntPtr value2);

        //
        // 摘要:
        //     将指定的 System.IntPtr 的值转换为 32 位有符号整数。
        //
        // 参数:
        //   value:
        //     要转换的指针或句柄。
        //
        // 返回结果:
        //     value 的内容。
        //
        // 异常:
        //   T:System.OverflowException:
        //     在 64 位平台上,值 value 太大而无法表示为一个 32 位有符号整数。
        [NonVersionableAttribute]
        [SecuritySafeCritical]
        public static explicit operator int(IntPtr value);
        //
        // 摘要:
        //     将指定的 System.IntPtr 的值转换为指向未指定类型的指针。
        //
        // 参数:
        //   value:
        //     要转换的指针或句柄。
        //
        // 返回结果:
        //     value 的内容。
        [CLSCompliant(false)]
        [NonVersionableAttribute]
        [SecuritySafeCritical]
        public static explicit operator void* (IntPtr value);
        //
        // 摘要:
        //     将指向未指定类型的指定指针转换为 System.IntPtr。
        //
        // 参数:
        //   value:
        //     指向未指定类型的指针。
        //
        // 返回结果:
        //     初始化为 System.IntPtr 的 value 新实例。
        [CLSCompliant(false)]
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        [SecurityCritical]
        public static explicit operator IntPtr(void* value);
        //
        // 摘要:
        //     将 32 位有符号整数的值转换为 System.IntPtr。
        //
        // 参数:
        //   value:
        //     32 位带符号整数。
        //
        // 返回结果:
        //     初始化为 System.IntPtr 的 value 新实例。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        public static explicit operator IntPtr(int value);
        //
        // 摘要:
        //     将指定的 System.IntPtr 的值转换为 64 位有符号整数。
        //
        // 参数:
        //   value:
        //     要转换的指针或句柄。
        //
        // 返回结果:
        //     value 的内容。
        [NonVersionableAttribute]
        [SecuritySafeCritical]
        public static explicit operator long(IntPtr value);
        //
        // 摘要:
        //     将 64 位有符号整数值转换为 System.IntPtr。
        //
        // 参数:
        //   value:
        //     64 位带符号整数。
        //
        // 返回结果:
        //     初始化为 System.IntPtr 的 value 新实例。
        //
        // 异常:
        //   T:System.OverflowException:
        //     在 32 位平台上, value 太大而无法表示为 System.IntPtr。
        [NonVersionableAttribute]
        [ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]
        public static explicit operator IntPtr(long value);
    }
}
2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
 
 
6.返回顶部
 
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

猜你喜欢

转载自www.cnblogs.com/storebook/p/12676980.html