#include <dwc.h>
BOOL DWC_SavePublicDataAsync(char *keyvalues,
void *param);| keyvalues | データベース文字列(key/value値)へのポインタ |
| param | コールバック用パラメータ |
| TRUE | セーブ開始 |
| FALSE | オフライン状態かエラー発生中でセーブできない |
誰でも参照可能なデータをデータストレージサーバにセーブします。セーブするデータはヌル文字終端の文字列で、key/valueの組である必要があります。
keyvaluesは、"\name\mario\stage\3"のように'\'で区切って記述します。この例のように複数のkey/value組を一度にセーブすることができます。
データのセーブが完了したら、DWC_SetStorageServerCallbackで指定したセーブ完了通知コールバックが呼ばれます。
"\\name\\"のように空のvalue値をセーブすれば、keyを消去することができます。
ただし、消去されたkeyは、参照はできないものの、データストレージサーバ上には残ったままとなります。そのため、このような消去されたキーが数多くなると、データストレージサーバの容量を無駄に消費することになります。
ストレージ関連の非同期処理は、回線の断絶等によりいつまで経っても完了しなくなる事がありますので、アプリケーション側でタイムアウト(数キロバイト程度のデータでしたら1分程度)を設定するか、ユーザーが処理をキャンセルできるような実装にしてください。キャンセルする場合は、DWC_LogoutFromStorageServer関数を呼んでください。
データのセーブとロードが同時に発生しても、セーブ途中のデータがロードされることはありません。セーブ前か後のデータがロードされることになります。
5.1pr2より前の変更履歴はこちら