Dalamud/docs/api/Dalamud.Memory.MemoryHelper.html
2022-10-29 15:34:04 +02:00

3126 lines
141 KiB
HTML

<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class MemoryHelper
</title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class MemoryHelper
">
<meta name="generator" content="docfx 2.59.4.0">
<link rel="shortcut icon" href="../favicon.ico">
<link rel="stylesheet" href="../styles/docfx.vendor.css">
<link rel="stylesheet" href="../styles/docfx.css">
<link rel="stylesheet" href="../styles/main.css">
<meta property="docfx:navrel" content="">
<meta property="docfx:tocrel" content="toc.html">
</head>
<body data-spy="scroll" data-target="#affix" data-offset="120">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../logo.svg" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="Dalamud.Memory.MemoryHelper">
<h1 id="Dalamud_Memory_MemoryHelper" data-uid="Dalamud.Memory.MemoryHelper" class="text-break">Class MemoryHelper
</h1>
<div class="markdown level0 summary"><p>A simple class that provides read/write access to arbitrary memory.</p>
</div>
<div class="markdown level0 conceptual"></div>
<div class="inheritance">
<h5>Inheritance</h5>
<div class="level0"><span class="xref">System.Object</span></div>
<div class="level1"><span class="xref">MemoryHelper</span></div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<span class="xref">System.Object.Equals(System.Object)</span>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.GetHashCode()</span>
</div>
<div>
<span class="xref">System.Object.GetType()</span>
</div>
<div>
<span class="xref">System.Object.MemberwiseClone()</span>
</div>
<div>
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.ToString()</span>
</div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="Dalamud.Memory.html">Dalamud.Memory</a></h6>
<h6><strong>Assembly</strong>: Dalamud.dll</h6>
<h5 id="Dalamud_Memory_MemoryHelper_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static class MemoryHelper</code></pre>
</div>
<h3 id="methods">Methods
</h3>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Allocate_System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Allocate(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L478">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Allocate_" data-uid="Dalamud.Memory.MemoryHelper.Allocate*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Allocate_System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.Allocate(System.Int32)">Allocate(Int32)</h4>
<div class="markdown level1 summary"><p>Allocates fixed size of memory inside the target memory source via Windows API calls.
Returns the address of newly allocated memory.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IntPtr Allocate(int length)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">length</span></td>
<td><p>Amount of bytes to be allocated.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><p>Address to the newly allocated memory.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Allocate_System_Int32_System_IntPtr__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Allocate(System.Int32%2CSystem.IntPtr%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L498">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Allocate_" data-uid="Dalamud.Memory.MemoryHelper.Allocate*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Allocate_System_Int32_System_IntPtr__" data-uid="Dalamud.Memory.MemoryHelper.Allocate(System.Int32,System.IntPtr@)">Allocate(Int32, out IntPtr)</h4>
<div class="markdown level1 summary"><p>Allocates fixed size of memory inside the target memory source via Windows API calls.
Returns the address of newly allocated memory.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Allocate(int length, out IntPtr memoryAddress)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">length</span></td>
<td><p>Amount of bytes to be allocated.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>Address to the newly allocated memory.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ChangePermission_System_IntPtr_System_Int32_Dalamud_Memory_MemoryProtection_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ChangePermission(System.IntPtr%2CSystem.Int32%2CDalamud.Memory.MemoryProtection)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L518">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ChangePermission_" data-uid="Dalamud.Memory.MemoryHelper.ChangePermission*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ChangePermission_System_IntPtr_System_Int32_Dalamud_Memory_MemoryProtection_" data-uid="Dalamud.Memory.MemoryHelper.ChangePermission(System.IntPtr,System.Int32,Dalamud.Memory.MemoryProtection)">ChangePermission(IntPtr, Int32, MemoryProtection)</h4>
<div class="markdown level1 summary"><p>Changes the page permissions for a specified combination of address and length via Windows API calls.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static MemoryProtection ChangePermission(IntPtr memoryAddress, int length, MemoryProtection newPermissions)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address for which to change page permissions for.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">length</span></td>
<td><p>The region size for which to change permissions for.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Dalamud.Memory.MemoryProtection.html">MemoryProtection</a></td>
<td><span class="parametername">newPermissions</span></td>
<td><p>The new permissions to set.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Dalamud.Memory.MemoryProtection.html">MemoryProtection</a></td>
<td><p>The old page permissions.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ChangePermission_System_IntPtr_System_Int32_Dalamud_Memory_MemoryProtection_Dalamud_Memory_MemoryProtection__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ChangePermission(System.IntPtr%2CSystem.Int32%2CDalamud.Memory.MemoryProtection%2CDalamud.Memory.MemoryProtection%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L539">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ChangePermission_" data-uid="Dalamud.Memory.MemoryHelper.ChangePermission*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ChangePermission_System_IntPtr_System_Int32_Dalamud_Memory_MemoryProtection_Dalamud_Memory_MemoryProtection__" data-uid="Dalamud.Memory.MemoryHelper.ChangePermission(System.IntPtr,System.Int32,Dalamud.Memory.MemoryProtection,Dalamud.Memory.MemoryProtection@)">ChangePermission(IntPtr, Int32, MemoryProtection, out MemoryProtection)</h4>
<div class="markdown level1 summary"><p>Changes the page permissions for a specified combination of address and length via Windows API calls.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ChangePermission(IntPtr memoryAddress, int length, MemoryProtection newPermissions, out MemoryProtection oldPermissions)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address for which to change page permissions for.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">length</span></td>
<td><p>The region size for which to change permissions for.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Dalamud.Memory.MemoryProtection.html">MemoryProtection</a></td>
<td><span class="parametername">newPermissions</span></td>
<td><p>The new permissions to set.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Dalamud.Memory.MemoryProtection.html">MemoryProtection</a></td>
<td><span class="parametername">oldPermissions</span></td>
<td><p>The old page permissions.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ChangePermission__1_System_IntPtr___0__Dalamud_Memory_MemoryProtection_System_Boolean_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ChangePermission%60%601(System.IntPtr%2C%60%600%40%2CDalamud.Memory.MemoryProtection%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L551">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ChangePermission_" data-uid="Dalamud.Memory.MemoryHelper.ChangePermission*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ChangePermission__1_System_IntPtr___0__Dalamud_Memory_MemoryProtection_System_Boolean_" data-uid="Dalamud.Memory.MemoryHelper.ChangePermission``1(System.IntPtr,``0@,Dalamud.Memory.MemoryProtection,System.Boolean)">ChangePermission&lt;T&gt;(IntPtr, ref T, MemoryProtection, Boolean)</h4>
<div class="markdown level1 summary"><p>Changes the page permissions for a specified combination of address and element from which to deduce size via Windows API calls.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static MemoryProtection ChangePermission&lt;T&gt;(IntPtr memoryAddress, ref T baseElement, MemoryProtection newPermissions, bool marshal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address for which to change page permissions for.</p>
</td>
</tr>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">baseElement</span></td>
<td><p>The struct element from which the region size to change permissions for will be calculated.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Dalamud.Memory.MemoryProtection.html">MemoryProtection</a></td>
<td><span class="parametername">newPermissions</span></td>
<td><p>The new permissions to set.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>Set to true to calculate the size of the struct after marshalling instead of before.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Dalamud.Memory.MemoryProtection.html">MemoryProtection</a></td>
<td><p>The old page permissions.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Free_System_IntPtr_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Free(System.IntPtr)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L506">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Free_" data-uid="Dalamud.Memory.MemoryHelper.Free*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Free_System_IntPtr_" data-uid="Dalamud.Memory.MemoryHelper.Free(System.IntPtr)">Free(IntPtr)</h4>
<div class="markdown level1 summary"><p>Frees memory previously allocated with Allocate via Windows API calls.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static bool Free(IntPtr memoryAddress)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The address of the memory to free.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><p>True if the operation is successful.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_GameAllocateAnimation_System_UInt64_System_UInt64_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.GameAllocateAnimation(System.UInt64%2CSystem.UInt64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L688">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_GameAllocateAnimation_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateAnimation*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_GameAllocateAnimation_System_UInt64_System_UInt64_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateAnimation(System.UInt64,System.UInt64)">GameAllocateAnimation(UInt64, UInt64)</h4>
<div class="markdown level1 summary"><p>Allocate memory in the game's animation memory space.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IntPtr GameAllocateAnimation(ulong size, ulong alignment = 0UL)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">size</span></td>
<td><p>Amount of bytes to allocate.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">alignment</span></td>
<td><p>The alignment of the allocation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><p>Pointer to the allocated region.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_GameAllocateApricot_System_UInt64_System_UInt64_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.GameAllocateApricot(System.UInt64%2CSystem.UInt64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L699">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_GameAllocateApricot_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateApricot*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_GameAllocateApricot_System_UInt64_System_UInt64_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateApricot(System.UInt64,System.UInt64)">GameAllocateApricot(UInt64, UInt64)</h4>
<div class="markdown level1 summary"><p>Allocate memory in the game's apricot memory space.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IntPtr GameAllocateApricot(ulong size, ulong alignment = 0UL)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">size</span></td>
<td><p>Amount of bytes to allocate.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">alignment</span></td>
<td><p>The alignment of the allocation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><p>Pointer to the allocated region.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_GameAllocateDefault_System_UInt64_System_UInt64_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.GameAllocateDefault(System.UInt64%2CSystem.UInt64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L677">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_GameAllocateDefault_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateDefault*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_GameAllocateDefault_System_UInt64_System_UInt64_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateDefault(System.UInt64,System.UInt64)">GameAllocateDefault(UInt64, UInt64)</h4>
<div class="markdown level1 summary"><p>Allocate memory in the game's default memory space.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IntPtr GameAllocateDefault(ulong size, ulong alignment = 0UL)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">size</span></td>
<td><p>Amount of bytes to allocate.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">alignment</span></td>
<td><p>The alignment of the allocation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><p>Pointer to the allocated region.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_GameAllocateSound_System_UInt64_System_UInt64_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.GameAllocateSound(System.UInt64%2CSystem.UInt64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L710">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_GameAllocateSound_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateSound*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_GameAllocateSound_System_UInt64_System_UInt64_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateSound(System.UInt64,System.UInt64)">GameAllocateSound(UInt64, UInt64)</h4>
<div class="markdown level1 summary"><p>Allocate memory in the game's sound memory space.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IntPtr GameAllocateSound(ulong size, ulong alignment = 0UL)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">size</span></td>
<td><p>Amount of bytes to allocate.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">alignment</span></td>
<td><p>The alignment of the allocation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><p>Pointer to the allocated region.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_GameAllocateUi_System_UInt64_System_UInt64_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.GameAllocateUi(System.UInt64%2CSystem.UInt64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L666">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_GameAllocateUi_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateUi*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_GameAllocateUi_System_UInt64_System_UInt64_" data-uid="Dalamud.Memory.MemoryHelper.GameAllocateUi(System.UInt64,System.UInt64)">GameAllocateUi(UInt64, UInt64)</h4>
<div class="markdown level1 summary"><p>Allocate memory in the game's UI memory space.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static IntPtr GameAllocateUi(ulong size, ulong alignment = 0UL)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">size</span></td>
<td><p>Amount of bytes to allocate.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">alignment</span></td>
<td><p>The alignment of the allocation.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><p>Pointer to the allocated region.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_GameFree_System_IntPtr__System_UInt64_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.GameFree(System.IntPtr%40%2CSystem.UInt64)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L721">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_GameFree_" data-uid="Dalamud.Memory.MemoryHelper.GameFree*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_GameFree_System_IntPtr__System_UInt64_" data-uid="Dalamud.Memory.MemoryHelper.GameFree(System.IntPtr@,System.UInt64)">GameFree(ref IntPtr, UInt64)</h4>
<div class="markdown level1 summary"><p>Free memory in the game's memory space.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void GameFree(ref IntPtr ptr, ulong size)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">ptr</span></td>
<td><p>Position at which the memory to be freed is located.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.UInt64</span></td>
<td><span class="parametername">size</span></td>
<td><p>Amount of bytes to free.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_GameFree_System_IntPtr__System_UInt64__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>The memory you are freeing must be allocated with game allocators.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_NullTerminate_System_Byte___.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.NullTerminate(System.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L741">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_NullTerminate_" data-uid="Dalamud.Memory.MemoryHelper.NullTerminate*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_NullTerminate_System_Byte___" data-uid="Dalamud.Memory.MemoryHelper.NullTerminate(System.Byte[])">NullTerminate(Byte[])</h4>
<div class="markdown level1 summary"><p>Null-terminate a byte array.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static byte[] NullTerminate(this byte[] bytes)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><span class="parametername">bytes</span></td>
<td><p>The byte array to terminate.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><p>The terminated byte array.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Read%60%601(System.IntPtr)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L30">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Read_" data-uid="Dalamud.Memory.MemoryHelper.Read*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_" data-uid="Dalamud.Memory.MemoryHelper.Read``1(System.IntPtr)">Read&lt;T&gt;(IntPtr)</h4>
<div class="markdown level1 summary"><p>Reads a generic type from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static T Read&lt;T&gt;(IntPtr memoryAddress)
where T : struct</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">T</span></td>
<td><p>The read in struct.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr___0__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Read%60%601(System.IntPtr%2C%60%600%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L119">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Read_" data-uid="Dalamud.Memory.MemoryHelper.Read*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr___0__" data-uid="Dalamud.Memory.MemoryHelper.Read``1(System.IntPtr,``0@)">Read&lt;T&gt;(IntPtr, out T)</h4>
<div class="markdown level1 summary"><p>Reads a generic type from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Read&lt;T&gt;(IntPtr memoryAddress, out T value)
where T : struct</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">value</span></td>
<td><p>Local variable to receive the read in struct.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr___0__System_Boolean_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Read%60%601(System.IntPtr%2C%60%600%40%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L129">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Read_" data-uid="Dalamud.Memory.MemoryHelper.Read*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr___0__System_Boolean_" data-uid="Dalamud.Memory.MemoryHelper.Read``1(System.IntPtr,``0@,System.Boolean)">Read&lt;T&gt;(IntPtr, out T, Boolean)</h4>
<div class="markdown level1 summary"><p>Reads a generic type from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Read&lt;T&gt;(IntPtr memoryAddress, out T value, bool marshal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">value</span></td>
<td><p>Local variable to receive the read in struct.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>Set this to true to enable struct marshalling.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Boolean_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Read%60%601(System.IntPtr%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L40">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Read_" data-uid="Dalamud.Memory.MemoryHelper.Read*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Boolean_" data-uid="Dalamud.Memory.MemoryHelper.Read``1(System.IntPtr,System.Boolean)">Read&lt;T&gt;(IntPtr, Boolean)</h4>
<div class="markdown level1 summary"><p>Reads a generic type from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static T Read&lt;T&gt;(IntPtr memoryAddress, bool marshal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>Set this to true to enable struct marshalling.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">T</span></td>
<td><p>The read in struct.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Read%60%601(System.IntPtr%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L67">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Read_" data-uid="Dalamud.Memory.MemoryHelper.Read*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.Read``1(System.IntPtr,System.Int32)">Read&lt;T&gt;(IntPtr, Int32)</h4>
<div class="markdown level1 summary"><p>Reads a generic type array from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static T[] Read&lt;T&gt;(IntPtr memoryAddress, int arrayLength)
where T : struct</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">arrayLength</span></td>
<td><p>The amount of array items to read.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>T[]</td>
<td><p>The read in struct array.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Int32___0____.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Read%60%601(System.IntPtr%2CSystem.Int32%2C%60%600%5B%5D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L148">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Read_" data-uid="Dalamud.Memory.MemoryHelper.Read*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Int32___0____" data-uid="Dalamud.Memory.MemoryHelper.Read``1(System.IntPtr,System.Int32,``0[]@)">Read&lt;T&gt;(IntPtr, Int32, out T[])</h4>
<div class="markdown level1 summary"><p>Reads a generic type array from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Read&lt;T&gt;(IntPtr memoryAddress, int arrayLength, out T[] value)
where T : struct</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">arrayLength</span></td>
<td><p>The amount of array items to read.</p>
</td>
</tr>
<tr>
<td>T[]</td>
<td><span class="parametername">value</span></td>
<td><p>The read in struct array.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Int32_System_Boolean_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Read%60%601(System.IntPtr%2CSystem.Int32%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L78">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Read_" data-uid="Dalamud.Memory.MemoryHelper.Read*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Int32_System_Boolean_" data-uid="Dalamud.Memory.MemoryHelper.Read``1(System.IntPtr,System.Int32,System.Boolean)">Read&lt;T&gt;(IntPtr, Int32, Boolean)</h4>
<div class="markdown level1 summary"><p>Reads a generic type array from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static T[] Read&lt;T&gt;(IntPtr memoryAddress, int arrayLength, bool marshal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">arrayLength</span></td>
<td><p>The amount of array items to read.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>Set this to true to enable struct marshalling.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>T[]</td>
<td><p>The read in struct array.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Int32_System_Boolean___0____.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Read%60%601(System.IntPtr%2CSystem.Int32%2CSystem.Boolean%2C%60%600%5B%5D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L159">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Read_" data-uid="Dalamud.Memory.MemoryHelper.Read*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Read__1_System_IntPtr_System_Int32_System_Boolean___0____" data-uid="Dalamud.Memory.MemoryHelper.Read``1(System.IntPtr,System.Int32,System.Boolean,``0[]@)">Read&lt;T&gt;(IntPtr, Int32, Boolean, out T[])</h4>
<div class="markdown level1 summary"><p>Reads a generic type array from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Read&lt;T&gt;(IntPtr memoryAddress, int arrayLength, bool marshal, out T[] value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">arrayLength</span></td>
<td><p>The amount of array items to read.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>Set this to true to enable struct marshalling.</p>
</td>
</tr>
<tr>
<td>T[]</td>
<td><span class="parametername">value</span></td>
<td><p>The read in struct array.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadProcessMemory_System_IntPtr_System_Byte____.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadProcessMemory(System.IntPtr%2CSystem.Byte%5B%5D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L584">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadProcessMemory_" data-uid="Dalamud.Memory.MemoryHelper.ReadProcessMemory*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadProcessMemory_System_IntPtr_System_Byte____" data-uid="Dalamud.Memory.MemoryHelper.ReadProcessMemory(System.IntPtr,System.Byte[]@)">ReadProcessMemory(IntPtr, ref Byte[])</h4>
<div class="markdown level1 summary"><p>Reads raw data from a specified memory address via Windows API calls.
This is noticably slower than Unsafe or Marshal.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadProcessMemory(IntPtr memoryAddress, ref byte[] value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><span class="parametername">value</span></td>
<td><p>The read in bytes.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadProcessMemory_System_IntPtr_System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadProcessMemory(System.IntPtr%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L561">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadProcessMemory_" data-uid="Dalamud.Memory.MemoryHelper.ReadProcessMemory*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadProcessMemory_System_IntPtr_System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.ReadProcessMemory(System.IntPtr,System.Int32)">ReadProcessMemory(IntPtr, Int32)</h4>
<div class="markdown level1 summary"><p>Reads raw data from a specified memory address via Windows API calls.
This is noticably slower than Unsafe or Marshal.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static byte[] ReadProcessMemory(IntPtr memoryAddress, int length)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">length</span></td>
<td><p>The amount of bytes to read starting from the memoryAddress.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><p>The read in bytes.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadProcessMemory_System_IntPtr_System_Int32_System_Byte____.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadProcessMemory(System.IntPtr%2CSystem.Int32%2CSystem.Byte%5B%5D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L575">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadProcessMemory_" data-uid="Dalamud.Memory.MemoryHelper.ReadProcessMemory*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadProcessMemory_System_IntPtr_System_Int32_System_Byte____" data-uid="Dalamud.Memory.MemoryHelper.ReadProcessMemory(System.IntPtr,System.Int32,System.Byte[]@)">ReadProcessMemory(IntPtr, Int32, out Byte[])</h4>
<div class="markdown level1 summary"><p>Reads raw data from a specified memory address via Windows API calls.
This is noticably slower than Unsafe or Marshal.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadProcessMemory(IntPtr memoryAddress, int length, out byte[] value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">length</span></td>
<td><p>The amount of bytes to read starting from the memoryAddress.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><span class="parametername">value</span></td>
<td><p>The read in bytes.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadRaw_System_IntPtr_System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadRaw(System.IntPtr%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L53">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadRaw_" data-uid="Dalamud.Memory.MemoryHelper.ReadRaw*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadRaw_System_IntPtr_System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.ReadRaw(System.IntPtr,System.Int32)">ReadRaw(IntPtr, Int32)</h4>
<div class="markdown level1 summary"><p>Reads a byte array from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static byte[] ReadRaw(IntPtr memoryAddress, int length)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">length</span></td>
<td><p>The amount of bytes to read starting from the memoryAddress.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><p>The read in byte array.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadRaw_System_IntPtr_System_Int32_System_Byte____.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadRaw(System.IntPtr%2CSystem.Int32%2CSystem.Byte%5B%5D%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L138">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadRaw_" data-uid="Dalamud.Memory.MemoryHelper.ReadRaw*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadRaw_System_IntPtr_System_Int32_System_Byte____" data-uid="Dalamud.Memory.MemoryHelper.ReadRaw(System.IntPtr,System.Int32,System.Byte[]@)">ReadRaw(IntPtr, Int32, out Byte[])</h4>
<div class="markdown level1 summary"><p>Reads raw data from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadRaw(IntPtr memoryAddress, int length, out byte[] value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">length</span></td>
<td><p>The amount of bytes to read starting from the memoryAddress.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><span class="parametername">value</span></td>
<td><p>Local variable to receive the read in bytes.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadRawNullTerminated_System_IntPtr_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadRawNullTerminated(System.IntPtr)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L98">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadRawNullTerminated_" data-uid="Dalamud.Memory.MemoryHelper.ReadRawNullTerminated*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadRawNullTerminated_System_IntPtr_" data-uid="Dalamud.Memory.MemoryHelper.ReadRawNullTerminated(System.IntPtr)">ReadRawNullTerminated(IntPtr)</h4>
<div class="markdown level1 summary"><p>Reads a null-terminated byte array from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static byte[] ReadRawNullTerminated(IntPtr memoryAddress)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><p>The read in byte array.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadSeString_FFXIVClientStructs_FFXIV_Client_System_String_Utf8String__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadSeString(FFXIVClientStructs.FFXIV.Client.System.String.Utf8String*)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L265">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadSeString_" data-uid="Dalamud.Memory.MemoryHelper.ReadSeString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadSeString_FFXIVClientStructs_FFXIV_Client_System_String_Utf8String__" data-uid="Dalamud.Memory.MemoryHelper.ReadSeString(FFXIVClientStructs.FFXIV.Client.System.String.Utf8String*)">ReadSeString(Utf8String*)</h4>
<div class="markdown level1 summary"><p>Read an SeString from a specified Utf8String structure.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static SeString ReadSeString(Utf8String*utf8String)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="FFXIVClientStructs.FFXIV.Client.System.String.Utf8String.html">Utf8String</a>*</td>
<td><span class="parametername">utf8String</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeString.html">SeString</a></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadSeString_FFXIVClientStructs_FFXIV_Client_System_String_Utf8String__Dalamud_Game_Text_SeStringHandling_SeString__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadSeString(FFXIVClientStructs.FFXIV.Client.System.String.Utf8String*%2CDalamud.Game.Text.SeStringHandling.SeString%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L353">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadSeString_" data-uid="Dalamud.Memory.MemoryHelper.ReadSeString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadSeString_FFXIVClientStructs_FFXIV_Client_System_String_Utf8String__Dalamud_Game_Text_SeStringHandling_SeString__" data-uid="Dalamud.Memory.MemoryHelper.ReadSeString(FFXIVClientStructs.FFXIV.Client.System.String.Utf8String*,Dalamud.Game.Text.SeStringHandling.SeString@)">ReadSeString(Utf8String*, out SeString)</h4>
<div class="markdown level1 summary"><p>Read an SeString from a specified Utf8String structure.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadSeString(Utf8String*utf8String, out SeString value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="FFXIVClientStructs.FFXIV.Client.System.String.Utf8String.html">Utf8String</a>*</td>
<td><span class="parametername">utf8String</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeString.html">SeString</a></td>
<td><span class="parametername">value</span></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadSeString_System_IntPtr_System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadSeString(System.IntPtr%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L243">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadSeString_" data-uid="Dalamud.Memory.MemoryHelper.ReadSeString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadSeString_System_IntPtr_System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.ReadSeString(System.IntPtr,System.Int32)">ReadSeString(IntPtr, Int32)</h4>
<div class="markdown level1 summary"><p>Read an SeString from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static SeString ReadSeString(IntPtr memoryAddress, int maxLength)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">maxLength</span></td>
<td><p>The maximum length of the string.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeString.html">SeString</a></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadSeString_System_IntPtr_System_Int32_Dalamud_Game_Text_SeStringHandling_SeString__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadSeString(System.IntPtr%2CSystem.Int32%2CDalamud.Game.Text.SeStringHandling.SeString%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L345">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadSeString_" data-uid="Dalamud.Memory.MemoryHelper.ReadSeString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadSeString_System_IntPtr_System_Int32_Dalamud_Game_Text_SeStringHandling_SeString__" data-uid="Dalamud.Memory.MemoryHelper.ReadSeString(System.IntPtr,System.Int32,Dalamud.Game.Text.SeStringHandling.SeString@)">ReadSeString(IntPtr, Int32, out SeString)</h4>
<div class="markdown level1 summary"><p>Read an SeString from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadSeString(IntPtr memoryAddress, int maxLength, out SeString value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">maxLength</span></td>
<td><p>The maximum length of the string.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeString.html">SeString</a></td>
<td><span class="parametername">value</span></td>
<td><p>The read in SeString.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadSeStringNullTerminated_System_IntPtr_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadSeStringNullTerminated(System.IntPtr)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L231">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadSeStringNullTerminated_" data-uid="Dalamud.Memory.MemoryHelper.ReadSeStringNullTerminated*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadSeStringNullTerminated_System_IntPtr_" data-uid="Dalamud.Memory.MemoryHelper.ReadSeStringNullTerminated(System.IntPtr)">ReadSeStringNullTerminated(IntPtr)</h4>
<div class="markdown level1 summary"><p>Read a null-terminated SeString from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static SeString ReadSeStringNullTerminated(IntPtr memoryAddress)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeString.html">SeString</a></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadSeStringNullTerminated_System_IntPtr_Dalamud_Game_Text_SeStringHandling_SeString__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadSeStringNullTerminated(System.IntPtr%2CDalamud.Game.Text.SeStringHandling.SeString%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L336">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadSeStringNullTerminated_" data-uid="Dalamud.Memory.MemoryHelper.ReadSeStringNullTerminated*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadSeStringNullTerminated_System_IntPtr_Dalamud_Game_Text_SeStringHandling_SeString__" data-uid="Dalamud.Memory.MemoryHelper.ReadSeStringNullTerminated(System.IntPtr,Dalamud.Game.Text.SeStringHandling.SeString@)">ReadSeStringNullTerminated(IntPtr, out SeString)</h4>
<div class="markdown level1 summary"><p>Read a null-terminated SeString from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadSeStringNullTerminated(IntPtr memoryAddress, out SeString value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeString.html">SeString</a></td>
<td><span class="parametername">value</span></td>
<td><p>The read in SeString.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadString(System.IntPtr%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L201">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadString_" data-uid="Dalamud.Memory.MemoryHelper.ReadString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.ReadString(System.IntPtr,System.Int32)">ReadString(IntPtr, Int32)</h4>
<div class="markdown level1 summary"><p>Read a UTF-8 encoded string from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string ReadString(IntPtr memoryAddress, int maxLength)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">maxLength</span></td>
<td><p>The maximum length of the string.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Int32__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to decode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_String__System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadString(System.IntPtr%2CSystem.String%40%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L315">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadString_" data-uid="Dalamud.Memory.MemoryHelper.ReadString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_String__System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.ReadString(System.IntPtr,System.String@,System.Int32)">ReadString(IntPtr, out String, Int32)</h4>
<div class="markdown level1 summary"><p>Read a UTF-8 encoded string from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadString(IntPtr memoryAddress, out string value, int maxLength)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">value</span></td>
<td><p>The read in string.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">maxLength</span></td>
<td><p>The maximum length of the string.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_String__System_Int32__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to decode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Text_Encoding_System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadString(System.IntPtr%2CSystem.Text.Encoding%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L214">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadString_" data-uid="Dalamud.Memory.MemoryHelper.ReadString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Text_Encoding_System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.ReadString(System.IntPtr,System.Text.Encoding,System.Int32)">ReadString(IntPtr, Encoding, Int32)</h4>
<div class="markdown level1 summary"><p>Read a string with the given encoding from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string ReadString(IntPtr memoryAddress, Encoding encoding, int maxLength)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Text.Encoding</span></td>
<td><span class="parametername">encoding</span></td>
<td><p>The encoding to use to decode the string.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">maxLength</span></td>
<td><p>The maximum length of the string.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Text_Encoding_System_Int32__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to decode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Text_Encoding_System_Int32_System_String__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadString(System.IntPtr%2CSystem.Text.Encoding%2CSystem.Int32%2CSystem.String%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L328">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadString_" data-uid="Dalamud.Memory.MemoryHelper.ReadString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Text_Encoding_System_Int32_System_String__" data-uid="Dalamud.Memory.MemoryHelper.ReadString(System.IntPtr,System.Text.Encoding,System.Int32,System.String@)">ReadString(IntPtr, Encoding, Int32, out String)</h4>
<div class="markdown level1 summary"><p>Read a string with the given encoding from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadString(IntPtr memoryAddress, Encoding encoding, int maxLength, out string value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Text.Encoding</span></td>
<td><span class="parametername">encoding</span></td>
<td><p>The encoding to use to decode the string.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">maxLength</span></td>
<td><p>The maximum length of the string.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">value</span></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_ReadString_System_IntPtr_System_Text_Encoding_System_Int32_System_String___remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to decode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadStringNullTerminated(System.IntPtr)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L174">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_" data-uid="Dalamud.Memory.MemoryHelper.ReadStringNullTerminated*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_" data-uid="Dalamud.Memory.MemoryHelper.ReadStringNullTerminated(System.IntPtr)">ReadStringNullTerminated(IntPtr)</h4>
<div class="markdown level1 summary"><p>Read a UTF-8 encoded string from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string ReadStringNullTerminated(IntPtr memoryAddress)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to decode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_String__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadStringNullTerminated(System.IntPtr%2CSystem.String%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L291">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_" data-uid="Dalamud.Memory.MemoryHelper.ReadStringNullTerminated*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_String__" data-uid="Dalamud.Memory.MemoryHelper.ReadStringNullTerminated(System.IntPtr,System.String@)">ReadStringNullTerminated(IntPtr, out String)</h4>
<div class="markdown level1 summary"><p>Read a UTF-8 encoded string from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadStringNullTerminated(IntPtr memoryAddress, out string value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">value</span></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_String___remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to decode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_Text_Encoding_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadStringNullTerminated(System.IntPtr%2CSystem.Text.Encoding)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L186">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_" data-uid="Dalamud.Memory.MemoryHelper.ReadStringNullTerminated*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_Text_Encoding_" data-uid="Dalamud.Memory.MemoryHelper.ReadStringNullTerminated(System.IntPtr,System.Text.Encoding)">ReadStringNullTerminated(IntPtr, Encoding)</h4>
<div class="markdown level1 summary"><p>Read a string with the given encoding from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string ReadStringNullTerminated(IntPtr memoryAddress, Encoding encoding)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Text.Encoding</span></td>
<td><span class="parametername">encoding</span></td>
<td><p>The encoding to use to decode the string.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_Text_Encoding__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to decode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_Text_Encoding_System_String__.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.ReadStringNullTerminated(System.IntPtr%2CSystem.Text.Encoding%2CSystem.String%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L303">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_" data-uid="Dalamud.Memory.MemoryHelper.ReadStringNullTerminated*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_Text_Encoding_System_String__" data-uid="Dalamud.Memory.MemoryHelper.ReadStringNullTerminated(System.IntPtr,System.Text.Encoding,System.String@)">ReadStringNullTerminated(IntPtr, Encoding, out String)</h4>
<div class="markdown level1 summary"><p>Read a string with the given encoding from a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void ReadStringNullTerminated(IntPtr memoryAddress, Encoding encoding, out string value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Text.Encoding</span></td>
<td><span class="parametername">encoding</span></td>
<td><p>The encoding to use to decode the string.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">value</span></td>
<td><p>The read in string.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_ReadStringNullTerminated_System_IntPtr_System_Text_Encoding_System_String___remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to decode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_SizeOf__1.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.SizeOf%60%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L625">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_SizeOf_" data-uid="Dalamud.Memory.MemoryHelper.SizeOf*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_SizeOf__1" data-uid="Dalamud.Memory.MemoryHelper.SizeOf``1">SizeOf&lt;T&gt;()</h4>
<div class="markdown level1 summary"><p>Returns the size of a specific primitive or struct type.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static int SizeOf&lt;T&gt;()</code></pre>
</div>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><p>The size of the primitive or struct.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_SizeOf__1_System_Boolean_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.SizeOf%60%601(System.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L634">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_SizeOf_" data-uid="Dalamud.Memory.MemoryHelper.SizeOf*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_SizeOf__1_System_Boolean_" data-uid="Dalamud.Memory.MemoryHelper.SizeOf``1(System.Boolean)">SizeOf&lt;T&gt;(Boolean)</h4>
<div class="markdown level1 summary"><p>Returns the size of a specific primitive or struct type.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static int SizeOf&lt;T&gt;(bool marshal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>If set to true; will return the size of an element after marshalling.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><p>The size of the primitive or struct.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_SizeOf__1_System_Int32_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.SizeOf%60%601(System.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L643">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_SizeOf_" data-uid="Dalamud.Memory.MemoryHelper.SizeOf*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_SizeOf__1_System_Int32_" data-uid="Dalamud.Memory.MemoryHelper.SizeOf``1(System.Int32)">SizeOf&lt;T&gt;(Int32)</h4>
<div class="markdown level1 summary"><p>Returns the size of a specific primitive or struct type.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static int SizeOf&lt;T&gt;(int elementCount)
where T : struct</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">elementCount</span></td>
<td><p>The number of array elements present.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><p>The size of the primitive or struct array.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_SizeOf__1_System_Int32_System_Boolean_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.SizeOf%60%601(System.Int32%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L653">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_SizeOf_" data-uid="Dalamud.Memory.MemoryHelper.SizeOf*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_SizeOf__1_System_Int32_System_Boolean_" data-uid="Dalamud.Memory.MemoryHelper.SizeOf``1(System.Int32,System.Boolean)">SizeOf&lt;T&gt;(Int32, Boolean)</h4>
<div class="markdown level1 summary"><p>Returns the size of a specific primitive or struct type.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static int SizeOf&lt;T&gt;(int elementCount, bool marshal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><span class="parametername">elementCount</span></td>
<td><p>The number of array elements present.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>If set to true; will return the size of an element after marshalling.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td><p>The size of the primitive or struct array.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Write__1_System_IntPtr___0_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Write%60%601(System.IntPtr%2C%60%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L366">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Write_" data-uid="Dalamud.Memory.MemoryHelper.Write*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Write__1_System_IntPtr___0_" data-uid="Dalamud.Memory.MemoryHelper.Write``1(System.IntPtr,``0)">Write&lt;T&gt;(IntPtr, T)</h4>
<div class="markdown level1 summary"><p>Writes a generic type to a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Write&lt;T&gt;(IntPtr memoryAddress, T item)
where T : struct</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">item</span></td>
<td><p>The item to write to the address.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Write__1_System_IntPtr___0_System_Boolean_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Write%60%601(System.IntPtr%2C%60%600%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L376">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Write_" data-uid="Dalamud.Memory.MemoryHelper.Write*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Write__1_System_IntPtr___0_System_Boolean_" data-uid="Dalamud.Memory.MemoryHelper.Write``1(System.IntPtr,``0,System.Boolean)">Write&lt;T&gt;(IntPtr, T, Boolean)</h4>
<div class="markdown level1 summary"><p>Writes a generic type to a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Write&lt;T&gt;(IntPtr memoryAddress, T item, bool marshal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">item</span></td>
<td><p>The item to write to the address.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>Set this to true to enable struct marshalling.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Write__1_System_IntPtr___0___.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Write%60%601(System.IntPtr%2C%60%600%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L400">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Write_" data-uid="Dalamud.Memory.MemoryHelper.Write*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Write__1_System_IntPtr___0___" data-uid="Dalamud.Memory.MemoryHelper.Write``1(System.IntPtr,``0[])">Write&lt;T&gt;(IntPtr, T[])</h4>
<div class="markdown level1 summary"><p>Writes a generic type array to a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Write&lt;T&gt;(IntPtr memoryAddress, T[] items)
where T : struct</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to write to.</p>
</td>
</tr>
<tr>
<td>T[]</td>
<td><span class="parametername">items</span></td>
<td><p>The array of items to write to the address.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_Write__1_System_IntPtr___0___System_Boolean_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.Write%60%601(System.IntPtr%2C%60%600%5B%5D%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L410">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_Write_" data-uid="Dalamud.Memory.MemoryHelper.Write*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_Write__1_System_IntPtr___0___System_Boolean_" data-uid="Dalamud.Memory.MemoryHelper.Write``1(System.IntPtr,``0[],System.Boolean)">Write&lt;T&gt;(IntPtr, T[], Boolean)</h4>
<div class="markdown level1 summary"><p>Writes a generic type array to a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Write&lt;T&gt;(IntPtr memoryAddress, T[] items, bool marshal)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to write to.</p>
</td>
</tr>
<tr>
<td>T[]</td>
<td><span class="parametername">items</span></td>
<td><p>The array of items to write to the address.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td><span class="parametername">marshal</span></td>
<td><p>Set this to true to enable struct marshalling.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td><p>An individual struct type of a class with an explicit StructLayout.LayoutKind attribute.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_WriteProcessMemory_System_IntPtr_System_Byte___.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.WriteProcessMemory(System.IntPtr%2CSystem.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L603">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_WriteProcessMemory_" data-uid="Dalamud.Memory.MemoryHelper.WriteProcessMemory*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_WriteProcessMemory_System_IntPtr_System_Byte___" data-uid="Dalamud.Memory.MemoryHelper.WriteProcessMemory(System.IntPtr,System.Byte[])">WriteProcessMemory(IntPtr, Byte[])</h4>
<div class="markdown level1 summary"><p>Writes raw data to a specified memory address via Windows API calls.
This is noticably slower than Unsafe or Marshal.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void WriteProcessMemory(IntPtr memoryAddress, byte[] data)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to write to.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><span class="parametername">data</span></td>
<td><p>The bytes to write to memoryAddress.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_WriteRaw_System_IntPtr_System_Byte___.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.WriteRaw(System.IntPtr%2CSystem.Byte%5B%5D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L389">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_WriteRaw_" data-uid="Dalamud.Memory.MemoryHelper.WriteRaw*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_WriteRaw_System_IntPtr_System_Byte___" data-uid="Dalamud.Memory.MemoryHelper.WriteRaw(System.IntPtr,System.Byte[])">WriteRaw(IntPtr, Byte[])</h4>
<div class="markdown level1 summary"><p>Writes raw data to a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void WriteRaw(IntPtr memoryAddress, byte[] data)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to read from.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Byte</span>[]</td>
<td><span class="parametername">data</span></td>
<td><p>The bytes to write to memoryAddress.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_WriteSeString_System_IntPtr_Dalamud_Game_Text_SeStringHandling_SeString_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.WriteSeString(System.IntPtr%2CDalamud.Game.Text.SeStringHandling.SeString)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L460">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_WriteSeString_" data-uid="Dalamud.Memory.MemoryHelper.WriteSeString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_WriteSeString_System_IntPtr_Dalamud_Game_Text_SeStringHandling_SeString_" data-uid="Dalamud.Memory.MemoryHelper.WriteSeString(System.IntPtr,Dalamud.Game.Text.SeStringHandling.SeString)">WriteSeString(IntPtr, SeString)</h4>
<div class="markdown level1 summary"><p>Write an SeString to a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void WriteSeString(IntPtr memoryAddress, SeString value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to write to.</p>
</td>
</tr>
<tr>
<td><a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeString.html">SeString</a></td>
<td><span class="parametername">value</span></td>
<td><p>The SeString to write.</p>
</td>
</tr>
</tbody>
</table>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_WriteString_System_IntPtr_System_String_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.WriteString(System.IntPtr%2CSystem.String)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L433">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_WriteString_" data-uid="Dalamud.Memory.MemoryHelper.WriteString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_WriteString_System_IntPtr_System_String_" data-uid="Dalamud.Memory.MemoryHelper.WriteString(System.IntPtr,System.String)">WriteString(IntPtr, String)</h4>
<div class="markdown level1 summary"><p>Write a UTF-8 encoded string to a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void WriteString(IntPtr memoryAddress, string value)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to write to.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">value</span></td>
<td><p>The string to write.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_WriteString_System_IntPtr_System_String__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to encode or the applicable helper method.</p>
</div>
<span class="small pull-right mobile-hide">
<span class="divider">|</span>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper_WriteString_System_IntPtr_System_String_System_Text_Encoding_.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper.WriteString(System.IntPtr%2CSystem.String%2CSystem.Text.Encoding)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
</span>
<span class="small pull-right mobile-hide">
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L445">View Source</a>
</span>
<a id="Dalamud_Memory_MemoryHelper_WriteString_" data-uid="Dalamud.Memory.MemoryHelper.WriteString*"></a>
<h4 id="Dalamud_Memory_MemoryHelper_WriteString_System_IntPtr_System_String_System_Text_Encoding_" data-uid="Dalamud.Memory.MemoryHelper.WriteString(System.IntPtr,System.String,System.Text.Encoding)">WriteString(IntPtr, String, Encoding)</h4>
<div class="markdown level1 summary"><p>Write a string with the given encoding to a specified memory address.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void WriteString(IntPtr memoryAddress, string value, Encoding encoding)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.IntPtr</span></td>
<td><span class="parametername">memoryAddress</span></td>
<td><p>The memory address to write to.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.String</span></td>
<td><span class="parametername">value</span></td>
<td><p>The string to write.</p>
</td>
</tr>
<tr>
<td><span class="xref">System.Text.Encoding</span></td>
<td><span class="parametername">encoding</span></td>
<td><p>The encoding to use.</p>
</td>
</tr>
</tbody>
</table>
<h5 id="Dalamud_Memory_MemoryHelper_WriteString_System_IntPtr_System_String_System_Text_Encoding__remarks">Remarks</h5>
<div class="markdown level1 remarks"><p>Attention! If this is an SeString, use the <a class="xref" href="Dalamud.Game.Text.SeStringHandling.SeStringManager.html">SeStringManager</a> to encode or the applicable helper method.</p>
</div>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
<li>
<a href="https://github.com/goatcorp/Dalamud/new/master/apiSpec/new?filename=Dalamud_Memory_MemoryHelper.md&amp;value=---%0Auid%3A%20Dalamud.Memory.MemoryHelper%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
</li>
<li>
<a href="https://github.com/goatcorp/Dalamud/blob/master/Dalamud/Memory/MemoryHelper.cs/#L20" class="contribution-link">View Source</a>
</li>
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<h5>In This Article</h5>
<div></div>
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
<span>Generated by <strong>DocFX</strong></span>
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../styles/docfx.js"></script>
<script type="text/javascript" src="../styles/main.js"></script>
</body>
</html>