#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);
}
}