+
+
+ Class SafeMemory
+
+ Class facilitating safe memory access
+
+
+
+
Inheritance
+
System.Object
+
SafeMemory
+
+
+
Inherited Members
+
+ System.Object.ToString()
+
+
+ System.Object.Equals(System.Object)
+
+
+ System.Object.Equals(System.Object, System.Object)
+
+
+ System.Object.ReferenceEquals(System.Object, System.Object)
+
+
+ System.Object.GetHashCode()
+
+
+ System.Object.GetType()
+
+
+ System.Object.MemberwiseClone()
+
+
+
+ Assembly: Dalamud.dll
+ Syntax
+
+
public static class SafeMemory
+
+
+
+ Methods
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ Read<T>(IntPtr, out T)
+ Read an object of the specified struct from the current process.
+
+
+ Declaration
+
+
public static bool Read<T>(IntPtr address, out T result)
+ where T : struct
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to read from.
+ |
+
+
+ | T |
+ result |
+ The resulting object.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.Boolean |
+ Whether or not the read succeeded.
+ |
+
+
+
+ Type Parameters
+
+
+
+ | Name |
+ Description |
+
+
+
+
+ | T |
+ The type of the struct.
+ |
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ Read<T>(IntPtr, Int32)
+ Read an array of objects of the specified struct from the current process.
+
+
+ Declaration
+
+
[CanBeNull]
+public static T[] Read<T>(IntPtr address, int count)
+ where T : struct
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to read from.
+ |
+
+
+ | System.Int32 |
+ count |
+ The length of the array.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | T[] |
+ An array of the read objects, or null if any entry of the array failed to read.
+ |
+
+
+
+ Type Parameters
+
+
+
+ | Name |
+ Description |
+
+
+
+
+ | T |
+ The type of the struct.
+ |
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ ReadBytes(IntPtr, Int32, out Byte[])
+ Read a byte array from the current process.
+
+
+ Declaration
+
+
public static bool ReadBytes(IntPtr address, int count, out byte[] buffer)
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to read from.
+ |
+
+
+ | System.Int32 |
+ count |
+ The amount of bytes to read.
+ |
+
+
+ | System.Byte[] |
+ buffer |
+ The result buffer.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.Boolean |
+ Whether or not the read succeeded.
+ |
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ ReadString(IntPtr, Int32)
+ Read a string from the current process(UTF-8).
+
+
+ Declaration
+
+
[CanBeNull]
+public static string ReadString(IntPtr address, int maxLength = 256)
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to read from.
+ |
+
+
+ | System.Int32 |
+ maxLength |
+ The maximum length of the string.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.String |
+ The read string, or null in case the read was not successful.
+ |
+
+
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ ReadString(IntPtr, Encoding, Int32)
+ Read a string from the current process(UTF-8).
+
+
+ Declaration
+
+
[CanBeNull]
+public static string ReadString(IntPtr address, Encoding encoding, int maxLength = 256)
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to read from.
+ |
+
+
+ | System.Text.Encoding |
+ encoding |
+ The encoding to use to decode the string.
+ |
+
+
+ | System.Int32 |
+ maxLength |
+ The maximum length of the string.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.String |
+ The read string, or null in case the read was not successful.
+ |
+
+
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ SizeOf<T>()
+ Get the size of the passed type.
+
+
+ Declaration
+
+
public static int SizeOf<T>()
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.Int32 |
+ The size of the passed type.
+ |
+
+
+
+ Type Parameters
+
+
+
+ | Name |
+ Description |
+
+
+
+
+ | T |
+ The type to inspect.
+ |
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ Write<T>(IntPtr, T)
+ Write a struct to the current process.
+
+
+ Declaration
+
+
public static bool Write<T>(IntPtr address, T obj)
+ where T : struct
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to write to.
+ |
+
+
+ | T |
+ obj |
+ The object to write.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.Boolean |
+ Whether or not the write succeeded.
+ |
+
+
+
+ Type Parameters
+
+
+
+ | Name |
+ Description |
+
+
+
+
+ | T |
+ The type of the struct.
+ |
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ Write<T>(IntPtr, T[])
+ Write an array of structs to the current process.
+
+
+ Declaration
+
+
public static bool Write<T>(IntPtr address, T[] objArray)
+ where T : struct
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to write to.
+ |
+
+
+ | T[] |
+ objArray |
+ The array to write.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.Boolean |
+ Whether or not the write succeeded.
+ |
+
+
+
+ Type Parameters
+
+
+
+ | Name |
+ Description |
+
+
+
+
+ | T |
+ The type of the structs.
+ |
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ WriteBytes(IntPtr, Byte[])
+ Write a byte array to the current process.
+
+
+ Declaration
+
+
public static bool WriteBytes(IntPtr address, byte[] buffer)
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to write to.
+ |
+
+
+ | System.Byte[] |
+ buffer |
+ The buffer to write.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.Boolean |
+ Whether or not the write succeeded.
+ |
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ WriteString(IntPtr, String)
+ Write a string to the current process.
+
+
+ Declaration
+
+
public static bool WriteString(IntPtr address, string str)
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to write to.
+ |
+
+
+ | System.String |
+ str |
+ The string to write.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.Boolean |
+ Whether or not the write succeeded.
+ |
+
+
+
+
+
+
+ |
+ Improve this Doc
+
+
+ View Source
+
+
+ WriteString(IntPtr, String, Encoding)
+ Write a string to the current process.
+
+
+ Declaration
+
+
public static bool WriteString(IntPtr address, string str, Encoding encoding)
+
+ Parameters
+
+
+
+ | Type |
+ Name |
+ Description |
+
+
+
+
+ | System.IntPtr |
+ address |
+ The address to write to.
+ |
+
+
+ | System.String |
+ str |
+ The string to write.
+ |
+
+
+ | System.Text.Encoding |
+ encoding |
+ The encoding to use.
+ |
+
+
+
+ Returns
+
+
+
+ | Type |
+ Description |
+
+
+
+
+ | System.Boolean |
+ Whether or not the write succeeded.
+ |
+
+
+
+
+
+