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>MountSaveData</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../nn/Overview.html">nn</a>::<a href="../../nn/fs/Overview.html">fs</a>::MountSaveData</CODE> Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14<a href="../../nn/Result/Overview.html">Result</a> MountSaveData(
15     const char * archiveName = &quot;data:&quot;
16);
17</pre>
18    </div>
19<h2>Arguments</h2>
20    <div class="section">
21      <table class="arguments">
22        <thead>
23          <tr>
24            <td width="15" />
25<th>Name</th>
26<td>Description</td>
27          </tr>
28        </thead>
29        <tr>
30<td>in</td>
31<th>archiveName</th>
32<td>Specifies the name of the archive. (If this argument is omitted, &quot;<CODE>data:</CODE>&quot; is specified.)</td>
33        </tr> </table>
34    </div>
35<h2>Return Values</h2>
36<div class="section">Returns the result of the operation. <br />
37      <table class="arguments">
38        <thead>
39          <tr>
40<th>Value</th>
41<td>Description</td>
42          </tr>
43        </thead>
44        <tr>
45<th><CODE>Result::IsSuccess</CODE></th>
46<td>Process was successful.</td>
47        </tr>
48        <tr>
49<th><CODE>ResultAlreadyExists</CODE></th>
50<td>The specified archive name is already mounted. <BR>You must not allow this error to occur in retail products.</td>
51        </tr>
52        <tr>
53<th><CODE>ResultOperationDenied</CODE></th>
54<td>Operation denied because the save data are currently being mounted.<br />Make sure that this error never occurs in retail products.</td>
55        </tr>
56        <tr>
57<th><CODE>ResultNotFormatted</CODE></th>
58<td>Data region not formatted. Format it by calling the <a href="../../nn/fs/FormatSaveData.html"><CODE>FormatSaveData</CODE></a> function.</td>
59        </tr>
60        <tr>
61<th><CODE>ResultBadFormat</CODE></th>
62<td>Data region format invalid. Format it by calling the <a href="../../nn/fs/FormatSaveData.html"><CODE>FormatSaveData</CODE></a> function.</td>
63        </tr>
64        <tr>
65<th><CODE>ResultVerificationFailed</CODE></th>
66<td>Either verification failed or some form of tampering was detected. Format it by calling the <a href="../../nn/fs/FormatSaveData.html"><CODE>FormatSaveData</CODE></a> function.</td>
67        </tr>
68        <tr>
69<th>A value other than the above.</th>
70<td>An application bug or some other unexpected error.</td>
71        </tr>
72      </table> </div>
73<h2>Description</h2>
74    <div class="section">
75<p>Mounts a save data archive.</p><p>Mounts an application-specific save data region and gives it the specified archive name. The save data region must be formatted before it can be used.</p><p>Be sure to check the return value when you call this function to determine whether the save data region is invalid. If the save data region is invalid, call the <a href="../../nn/fs/FormatSaveData.html"><CODE>FormatSaveData</CODE></a> function to initialize it. Call this function again afterwards to mount it.</p><p>
76The following page has hints on how to handle mount errors. Please use this as a reference.
77</p><ul><li><a href="briefing/aboutErrorHandling.html#Mounting_SaveDataArchive">Handling Mount Errors: Save Data Archive</a></li></ul><h3>Double mounting</h3><div class="section">
78When the save data are mounted a second time, the correct behavior is to treat this as an error and return <CODE><a href="../../nn/fs/ResultOperationDenied/Overview.html">nn::fs::ResultOperationDenied</a></CODE>. However, because of a bug, some versions of the CTR-SDK return a different <CODE>Result</CODE>.
79<p><table><thead><th>SDK version</th><th>Return Values</th></thead><tr><td>1.2 and earlier versions</td><td>Returns a result indicating success. </td></tr><tr><td>1.3 to 1.X</td><td>Returns <CODE><a href="../../nn/fs/ResultOperationDenied/Overview.html">nn::fs::ResultOperationDenied</a></CODE>.</td></tr><tr><td>2.0 ~ 2.2</td><td>Returns <CODE><a href="../../nn/fs/ResultAccessDenied/Overview.html">nn::fs::ResultAccessDenied</a></CODE>.</td></tr><tr><td>2.3 and later versions</td><td>Returns <CODE><a href="../../nn/fs/ResultOperationDenied/Overview.html">nn::fs::ResultOperationDenied</a></CODE>.</td></tr></table></p>
80CTR-SDK 1.2 and earlier versions return a result indicating success, but the double mounting of save data is not supported. Never perform double mounting because the save data could become corrupted when overwriting.
81                </div></div>
82<h2>Revision History</h2>
83    <div class="section">
84      <dl class="history">
85        <dt>2011/04/15</dt>
86<dd>Added text about double mounting.<br />
87        </dd>
88        <dt>2011/04/13</dt>
89<dd>Added <B>ResultOperationDenied</B> to the Return Values.
90        </dd>
91        <dt>2010/12/15</dt>
92<dd>Added a link to the error handling page.
93        </dd>
94        <dt>2010/08/16</dt>
95<dd>Initial version.<br />
96        </dd>
97      </dl>
98    </div>
99  <hr><p>CONFIDENTIAL</p></body>
100</html>
101