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( 15void 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 has already been registered.</td> 43 </tr> 44 <tr> 45<th><CODE>ResultIpcNotSessionInitialized</CODE></th> 46<td>Either a session had not been initialized or there were incompatible permissions. This <CODE>Result</CODE> value is returned if you call this function before <a href="../../../nn/boss/Task/Initialize.html"><CODE>Initialize</CODE></a> or <CODE>InitializePrivileged</CODE>. Always call <a href="../../../nn/boss/Task/Initialize.html"><CODE>Initialize</CODE></a> or <CODE>InitializePrivileged</CODE> first 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 details).</td> 51 </tr> 52 </table> </div> 53<h2>Description</h2> 54 <div class="section"> 55<p>Starts a task. 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 /><br />• The task's execution count is 0.<br />• The task's execution priority is <CODE>PRIORITY_STOPPED</CODE>.<br />• Parental Controls are enabled and not deactivated through the task attributes.<br />• The user has not yet agreed to the EULA, and agreement to the EULA hasn't been disabled through 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 "service suspended" notice.<br />• The administrator has temporarily suspended all tasks.<br /><br />In most cases, you can simply use the <a href="../../../nn/boss/Task/GetCount.html"><CODE>GetCount</CODE></a> function to check the execution count. You can use utilities such as the <CODE>Config</CODE> tool for settings related to Parental Controls and EULA agreement. You can use the <a href="../../../nn/boss/Task/GetState.html"><CODE>GetState</CODE></a> function to determine whether the administrator has temporarily suspended all tasks; if so, the return value is <CODE>TASK_PAUSED</CODE>.<br /><br /> You can wait for tasks to complete in the following ways.<br /><br />・Use the <a href="../../../nn/boss/Task/WaitFinish.html"><CODE>WaitFinish</CODE></a> function to wait for execution to complete<br />・Use the <a href="../../../nn/boss/Task/WaitFinish.html"><CODE>WaitFinish</CODE></a> function to wait for execution to complete, specifying the maximum amount of time to wait<br />・Poll with the <a href="../../../nn/boss/Task/GetState.html"><CODE>GetState</CODE></a> function, waiting for the task to enter the "completed" state<br />・Use the <CODE>Event</CODE> registered by the <a href="../../../nn/boss/RegisterNewArrivalEvent.html"><CODE>RegisterNewArrivalEvent</CODE></a> function to wait for a new event<br /><br />When you have detected that a task has finished, you can get its state with the <a href="../../../nn/boss/Task/GetState.html"><CODE>GetState</CODE></a> function, its execution result code with the <a href="../../../nn/boss/Task/GetResult.html"><CODE>GetResult</CODE></a> function, and the HTTP result code with the <a href="../../../nn/boss/Task/GetHttpStatusCode.html"><CODE>GetHttpStatusCode</CODE></a> function. You can use the <a href="../../../nn/boss/Task/GetStateDetail.html"><CODE>GetStateDetail</CODE></a> function to get further details. <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>