1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" />
7<title>Initialize</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/os/Overview.html">os</a>::<a href="../../../nn/os/SimpleAutoStackManager/Overview.html">SimpleAutoStackManager</a>::Initialize</CODE> Member Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14void Initialize(
15     <a href="../../../nn/fnd/IAllocator/Overview.html">fnd::IAllocator</a> * pAllocator,
16     <a href="../../../nn_types/uptr.html">uptr</a> stackBottom
17);
18</pre>
19    </div>
20<h2>Parameters</h2>
21    <div class="section">
22      <table class="arguments">
23        <thead>
24          <tr>
25            <td width="15" />
26<th>Name</th>
27<td>Description</td>
28          </tr>
29        </thead>
30        <tr>
31<td>in</td>
32<th>pAllocator</th>
33<td>Specifies the allocator used to allocate the stack.</td>
34        </tr>
35        <tr>
36<td>in</td>
37<th><CODE>stackBottom</CODE></th>
38<td>Specifies the bottom of the stack to use when releasing the stack.</td>
39        </tr> </table>
40    </div>
41<h2>Return Values</h2>
42    <div class="section">
43None.
44               </div>
45<h2>Description</h2>
46    <div class="section">
47<p>Performs initialization.</p><p>Specifies the allocator that will actually perform memory allocation.</p><p>The allocator specified for <SPAN class="argument">pAllocator</SPAN> must be maintained until the call to the <CODE><a href="../../../nn/os/SimpleAutoStackManager/Finalize.html">Finalize</a></CODE> function. Since the allocator can be accessed from multiple threads, it must be thread-safe. Further, the allocator must be able to allocate memory regions aligned to a 4-byte boundary. In the <CODE><a href="../../../nn/os/SimpleAutoStackManager/Construct.html">Construct</a></CODE> function, the value <CODE>4</CODE> is passed to the second argument of <CODE>pAllocator-&gt;Allocate</CODE>.</p><p>When the stack is released, <SPAN class="argument">stackBottom</SPAN> is used as the stack. Within the <CODE><a href="../../../nn/os/SimpleAutoStackManager/Destruct.html">Destruct</a></CODE> member functions, <CODE>pAllocator-&gt;Free</CODE> is called after the stack has been replaced by <SPAN class="argument">stackBottom</SPAN>. For this reason, the size of the stack pointed to by <SPAN class="argument">stackBottom</SPAN> must match the stack size used by <CODE>pAllocator-&gt;Free</CODE>.</p><!-- write here --></div>
48<h2>Revision History</h2>
49    <div class="section">
50      <dl class="history">
51        <dt>2011/10/27</dt>
52<dd>Initial version.<br />
53        </dd>
54      </dl>
55    </div>
56  <hr><p>CONFIDENTIAL</p></body>
57</html>
58