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>TryWrite</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/fs/Overview.html">fs</a>::<a href="../../../nn/fs/FileStream/Overview.html">FileStream</a>::TryWrite</CODE> Member Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14virtual <a href="../../../nn/Result/Overview.html">Result</a> TryWrite(
15     <a href="../../../nn_types/s32.html">s32</a> * pOut,
16     const void * buffer,
17     size_t size,
18     bool flush
19);
20</pre>
21    </div>
22<h2>Parameters</h2>
23    <div class="section">
24      <table class="arguments">
25        <thead>
26          <tr>
27            <td width="15" />
28<th>Name</th>
29<td>Description</td>
30          </tr>
31        </thead>
32        <tr>
33<td>out</td>
34<th>pOut</th>
35<td>Stores the actual number of bytes that were written.</td>
36        </tr>
37        <tr>
38<td>in</td>
39<th>buffer</th>
40<td>Pointer to the buffer that contains the data to write.</td>
41        </tr>
42        <tr>
43<td>in</td>
44<th>size</th>
45<td>Maximum number of bytes to write to the file.</td>
46        </tr>
47        <tr>
48<td>in</td>
49<th>flush</th>
50<td>Specifies whether to flush data.</td>
51        </tr> </table>
52    </div>
53<h2>Return Values</h2>
54<div class="section">Returns the result of the operation. </div>
55<h2>Description</h2>
56    <div class="section">
57<p>Writes the specified amount of data from a buffer to a file.</p><p>Up to <SPAN class="argument">size</SPAN> bytes of data are written to the file from the region at the address specified by <SPAN class="argument">buffer</SPAN>.</p><p>Data is not flushed if <CODE>false</CODE> is specified for flush. If multiple writes to the same file are to be made consecutively, call the <a href="../../../nn/fs/FileStream/TryFlush.html">TryFlush</a> function after making all writes with flush = false. Then create a buffer to be managed by the system in low-level storage.</p><p>Do not write-access the memory of the specified buffer region during this function call (for example, from another thread). File writes may be incorrect and the program could stop working in a future version of the SDK.</p><p>
58Error handling will differ, depending on the archive. For details, see <a href="../briefing/aboutErrorHandling.html#FileAndDirectory">Handling Errors During File and Directory Operations</a>.
59            </p></div>
60<h2>Revision History</h2>
61    <div class="section">
62      <dl class="history">
63        <dt>2011/03/18</dt>
64<dd>Added note about limitations on buffer access during function call.<br />
65        </dd>
66        <dt>2010/12/22</dt>
67<dd>Added a link to the error handling page.
68        </dd>
69        <dt>2010/10/05</dt>
70<dd>Corrected the text.<br />
71        </dd>
72        <dt>2010/06/14</dt>
73<dd>Initial version.<br />
74        </dd>
75      </dl>
76    </div>
77  <hr><p>CONFIDENTIAL</p></body>
78</html>