/// <summary>Construct an address with an explicit size, but no set value (default to NULL)</summary> /// <param name="addressSize">This pointer's Address size</param> public PtrHandle(Shell.ProcessorSize addressSize) { Handle = Info = u64 = 0; u32 = UserData = 0; Type = PtrHandleType.Absolute; Is64bit = addressSize == Shell.ProcessorSize.x64; }
PtrHandle(bool is64bit, ulong handle) { Handle = Info = u64 = 0; u32 = UserData = 0; Type = PtrHandleType.Absolute; this.Handle = handle; this.Is64bit = is64bit; }
/// <summary>Construct an address based on the traits (but not the actual value) of another <see cref="PtrHandle"/></summary> /// <param name="baseInfo">Handle with the traints\info to inherit from</param> /// <param name="address">Value to use as this handle's value</param> public PtrHandle(PtrHandle baseInfo, ulong address) : this(baseInfo.Is64bit, address) { this.Type = baseInfo.Type; }