WM_StepDataSharing


C Specification

#include <nitro/wm.h>

WMErrCode WM_StepDataSharing(
        WMDataSharingInfo*  dsInfo , 
        const u16*          sendData , 
        WMDataSet*          receiveData );

Description

Advances data sharing synchronization by one

This function is only executable when data is being shared by WM_StartDataSharing.

This is a synchronous function that immediately returns WM_ERRCODE_SUCCESS when the process succeeds. This function returns WM_ERRCODE_NO_DATASET when synchronization is delayed because another terminal in the data share group did not call this function.

If a recoverable error was generated during communication, WM_StepDataSharing continues to return WM_ERRCODE_FAILED.

Use WM_GetSharedDataAddress when you check the data of each terminal from the received data structure.

By specifying different dsInfo arguments, data sharing can be performed with multiple groups. In such cases, you must call the function for each group and step the synchronization separately. To make the data sharing stable, you must call this API as soon as it comes to V-blank.

In the current implementation, the frame offset is corrected automatically only when data sharing is executed in every frame or every other frame. When you call this function at intervals of three or more frames, data sharing can be executed but the frame offset caused by some children in a shared period not being detected.

Arguments

dsInfo Pointer to the WMDataSharingInfo* data sharing information structure. The dsInfo argument must be initialized first using WM_StartDataSharing.
sendData Pointer to the send data
The data length is the fixed share data length that is specified by WM_StartDataSharing.
receiveData Pointer to the buffer receiving the shared data.

Return Values

Returns the process result as a WMErrCode enumerated type.

See Also

WM_StartDataSharing, WM_EndDataSharing, WM_GetSharedDataAddress

Revision History

10/22/2004 Changed return value type
09/25/2004 Added descriptions
09/21/2004 Deleted cautions because some restrictions were eliminated
08/11/2004 Initial version