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>Start</title>
8  </head>
9  <body>
10<h1><CODE>nn::boss::Task::Start</CODE> Member Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14<a href="../../../nn/Result/Overview.html">nn::Result</a> Start(
15     void
16);
17</pre>
18    </div>
19<h2>Arguments</h2>
20    <div class="section">
21<p>None.</p>
22    </div>
23<h2>Return Values</h2>
24<div class="section">Returns the function's execution result. Returns one of the <a href="../../../nn/Result/Overview.html"><CODE>Result</CODE></A> values listed below. <br />
25      <table class="arguments">
26        <thead>
27          <tr>
28<th>Value</th>
29<td>Description</td>
30          </tr>
31        </thead>
32        <tr>
33<th><CODE>ResultSuccess</CODE></th>
34<td>Successfully issued the instruction to start the task.</td>
35        </tr>
36        <tr>
37<th><CODE>ResultInvalidTaskId</CODE></th>
38<td>The task ID pointer is <CODE>NULL</CODE> or a zero-length string.</td>
39        </tr>
40        <tr>
41<th><CODE>ResultTaskNotExist</CODE></th>
42<td>The specified task ID was not found. Confirm whether it is registered yet.</td>
43        </tr>
44        <tr>
45<th><CODE>ResultIpcNotSessionInitialized</CODE></th>
46<td>The session has not been initialized. This result is returned if this function is called before the <CODE><a href="../../../nn/boss/Task/Initialize.html">Initialize</A></CODE> function. Always call the <a href="../../../nn/boss/Task/Initialize.html"><CODE>Initialize</CODE></a> function first thing when you use the BOSS library. </td>
47        </tr>
48        <tr>
49<th>A value other than the above.</th>
50<td>Unexpected error (see <CODE>boss_Result.h</CODE> for error details).</td>
51        </tr>
52      </table> </div>
53<h2>Description</h2>
54    <div class="section">
55<p>Starts a task.</p><p>The scheduled tasks will automatically run in the background when infrastructure connections are enabled. When a task finishes running, the execution count specified in the task's attributes will be decremented by 1, regardless of whether the execution resulted in an error. As a result, unless the execution count is 0, the task will be run again after the execution interval specified in the task's attributes. Tasks whose execution counts reach zero may be deleted automatically if the internal database is filled to capacity. In the following circumstances, tasks won't be scheduled for execution even if a command is issued to start a task. <br />• The task's execution count is 0.<br />• The task's execution priority is <CODE>PRIORITY_STOPPED</CODE>.<br />• Parental Controls are in force on the task and are not disabled in the task attributes.<br />• The user has not yet agreed to the EULA, and the EULA agreement requirement is not disabled in the task attributes.<br />• Task execution was stopped in the policy list that was downloaded from a Nintendo Zone access point.<br />• The server hosting the download service issued a &quot;service suspended&quot; notice.<br />• The administrator has temporarily suspended all tasks.<br /><br />One way to check for these common cases is to use the <a href="../../../nn/boss/Task/GetCount.html"><CODE>GetCount</CODE></A> function to confirm the execution count. Parental Controls and the EULA agreement can be configured with the <CODE>Config</CODE> tool and other utilities. You can tell when the administrator has temporarily paused all tasks because <CODE>TASK_PAUSED</CODE> is returned by the <CODE><a href="../../../nn/boss/Task/GetState.html">GetState</a></CODE> function for all running tasks.<br /> The following methods can be used to wait for task completion.<BR><BR>・Wait for execution to complete with the <a href="../../../nn/boss/Task/WaitFinish.html"><CODE>WaitFinish</CODE></A> function. <BR>・Specify a maximum waiting time and wait for execution to complete with the <a href="../../../nn/boss/Task/WaitFinish.html"><CODE>WaitFinish</CODE></A> function. <BR>・Use the <a href="../../../nn/boss/Task/GetState.html"><CODE>GetState</CODE></A> function to poll for completed tasks.<BR>・Wait for a new arrival event using an <CODE>Event</CODE> registered by the <a href="../../../nn/boss/RegisterNewArrivalEvent.html"><CODE>RegisterNewArrivalEvent</CODE></A> function.<BR><BR> Once you detect that a task is completed, you can confirm the task state with the <a href="../../../nn/boss/Task/GetState.html"><CODE>GetState</CODE></A> function, the task execution results code with the <a href="../../../nn/boss/Task/GetResult.html"><CODE>GetResult</CODE></A> function, and the HTTP communication results code with the <a href="../../../nn/boss/Task/GetHttpStatusCode.html"><CODE>GetHttpStatusCode</CODE></A> function. You can also get other details with the <a href="../../../nn/boss/Task/GetStateDetail.html"><CODE>GetStateDetail</CODE></A> function. <br /></p><!-- write here --></div>
56<h2>Revision History</h2>
57    <div class="section">
58      <dl class="history">
59        <dt>2010/09/16</dt>
60<dd>Initial version.<br />
61        </dd>
62      </dl>
63    </div>
64  <hr><p>CONFIDENTIAL</p></body>
65</html>
66