Wii has a feature for synchronizing the automatic downloading of content from the server and saving to NAND memory while an application is running or while the console is in standby mode.
With this function, applications can receive additional data without making the user wait.
The download task refers to the collection of settings necessary for download reservation, such as the URL and check intervals for content updates.
The download task list is a list of enabled download tasks.
A download task is enabled through registration to the download task list. The download task list is a file in NAND memory controlled through NWC24 functions.
Download tasks can be deleted from the task list automatically. (Details are described below.))
The download box is the storage location of the downloaded data. There is one download box for each application.
An application must create a download box at initial startup and keep it in a usable state so that it is available for task registration. Create the download box in the application save area.
WiiConnect24 automatically verifies the signature to ensure that the downloaded contents have not been falsified.
To ensure security, contents acquired through HTTP must always have the correct signature.
Use the website called NWCWMS to apply a signature to the content. For details, see "Applying for and Using the System that Handles Download Content" in the WiiConnect24 Overview.
The WiiConnect24 download feature is designed to avoid interference with the server, network, and applications running in the foreground. Therefore, users typically need to keep only certain parameters in mind, although detailed parameters settings are also possible.
Specifies the content acquisition source. Although the HTTP and HTTPS protocols are supported, the following restrictions are set to ensure security.
The signature verification functionality in WiiConnect24 must always be enabled.
This restriction may be disabled through NWC24EnableDlLaxParameterChecking() only for debugging.
The target server must have a server certificate that was issued by the Nintendo CA.
The standard ports will be used for each protocol during communications. (Port 80 for http and port 443 for https.) If a connection is unsuccessful, check for restrictions on connecting through these ports.
WiiConnect24 queries the HTTP servers for content updates, using functions preset by HTTP. If the contents have been updated, they are downloaded. The interval for this update query is set in the update check interval.
Determining this value is extremely important. Setting a shorter update check interval allows users to acquire the updated contents sooner, but this also increases the server and network load. This value must therefore be determined with the scale of operation and the frequency of content update in mind. Since there is no way to change the update check interval later, the servers and network must be upgraded if they are inadequate. Therefore, be careful when choosing this value.
Keep in mind that the update check is not always performed as set by this value. Various factors may cause a delay in the operation.
When the update check timing overlaps with another, the task with the highest priority goes through. The update check for the remaining tasks is carried over to the next time (approximately two minutes later). (For more information on startup timing, see the NWC24 Scheduler Operation Functions.)
For this reason, if the update check interval is short, set the priority low so other tasks are given priority.
There are restrictions that depend on the number of registered tasks and the update check interval. For details, see the WiiConnect24 Programming Guidelines.
Smaller values indicate higher priority.
The download count is decremented each time a content update check is performed, and the task disappears once the count reaches zero. When a task disappears, the update check is no longer performed until the task is reregistered by the application.
The download count decrements by 1 when the update check is successful. In other words,
Specifies the file name used to save to the download box. This item is effective when you want to keep past files. Directories other than the root directory may be specified as long as they are created first.
Normally there is no need to specify this.
Specifies the update interval of the specified URL.
This setting will be used in a future upgrade. Currently, this value is not used, even if it is configured.
When power to the Wii console is turned off or the NWC24 scheduler has been stopped, the scheduled content update checks for each task will stop. This might result in a substantial delay of the update check.
The allowed margin of delay is set in the retry margin. When a delay beyond the allowed margin is detected, the next update check is performed at update check interval counting from the time of delay detection.
If WiiConnect24 cannot operate for a long period of time, multiple update checks are more likely to overlap once WiiConnect24 is operational again. This may also cause continuous download operations for an extended period of time, which may adversely affect other network operations.
In the following situations, set a smaller retry margin, as needed, so that other tasks have higher priority:
Since an appropriate value is automatically set by the library, this value typically does not need to be set. Change this value only when necessary, and be sure you understand operations well enough to do so.
Various additional functions becomes usable through flags.
This is the ID of the application that registered the task. It is automatically set when a new task is created and cannot be changed. This is mainly used to restrict task access.
If the ID of the application that registered the task does not match that of the application that read the task, the reading application cannot alter the task's contents.
This does not apply if the task has the group-writable setting turned on. Also, this limit is not imposed on the same application in different regions.
These are items that are set for each application that handles download tasks. Each task stores information for the application that registered it; this information is used for accessing the task.
The application must provide a VF archive that can store the contents retrieved by tasks that it registered.
Public keys are used to verify content signatures. Shared keys are used to decrypt encrypted content.
Although WiiConnect24 has public and shared keys in internal system regions that cannot be accessed, during normal use each application should separately provide a key. The keys for the application can be set using the NWC24SetDlKeys function and are stored in the Home directory.
At each application startup, the following registration sequence is performed:
Attempt to acquire tasks to check whether previously registered download tasks remain. If successful, go to 4. ((Re-)register tasks to the list.)
NWC24DlTask Structure, NWC24GetDlTask(), NWC24GetDlTaskMine(), NWC24GetDlTaskByAppId()
Create and configure new download task(s). (See Download Task Configuration Items for the configuration items.) Usually, setting only the URL and the update check interval is sufficient.
There is no download box when the application starts up for the first time, so it must be created at that time. The size of downloadable files is limited by the available space in the download box. The application needs to determine the download box size, based on the size of the data it needs to handle. (Size restrictions follow the Wii Programming Guidelines.))
The download box is, in fact, an archive file handled by the VF library. The VF archive files for the download box have file permissions that allows view/update from other applications.
NWC24InitDlTask(), NWC24CreateDlVf(), NWC24SetDlUrl(), NWC24SetDlInterval(), NWC24SetDlPriority(), ...
Reset the remaining download count.
The remaining download count is decremented each time a content update check is performed until the task disappears. Applications must reset the remaining download count to the original value at each startup. This is not the case for download tasks that need to be performed only once.
Register/re-register created or acquired tasks to the task list.
Use NWC24AddDlTask() if the task was created in step 2, and NWC24UpdateDlTask() if the task was successfully acquired in step 1. See the function reference for the differences between the two.
The download box is a VF library archive file. Use the VF API to extract data.
Get the archive file path name using NWC24GetDlVfPath(). To get or delete downloaded files, the NWC24 library must be set in advance to a usable state by calling NWC24OpenLib(). There is no guarantee of operations if you manipulate VF archive files when the library is not open and in a usable state.
2008/02/01 Added a note on the ports that are used and moved the following items to the programming manual: Precautions When Designing Receivable Content and Notes for Developers.
2007/11/12 Added information specific to the use of empty content.
2007/09/26 Added information on deleting save data.
2007/07/24 Added a note on changing the development environment and made other minor changes.
2007/06/06 Added Precautions When Designing Receivable Content.
2006/11/17 Initial version.
CONFIDENTIAL