DWC_SVLGetTokenAsync

構文

#include <dwc.h>
BOOL DWC_SVLGetTokenAsync(char *svl,
                          DWCSvlResult *result);

引数

svl 取得するサービスロケータ情報を指定するための4文字のASCII文字列(ヌル文字終端)。
通常は空文字を指定してデフォルトのサービスロケータ情報を取得してください。
result 取得したサービスロケータ情報を格納するDWCSvlResult型変数へのポインタ。

返り値

TRUE サービスロケータ情報取得処理を開始した。
FALSE サービスロケータ情報取得処理を開始できなかった。

説明

任天堂認証サーバからサービスロケータ情報を取得する処理を開始します。この関数を呼び出した後、定期的にDWC_SVLProcess関数を呼び出すことで、サービスロケータ情報を取得する処理を進行させます。

引数svlを使って、取得するサービスロケータ情報を指定することができます。

本関数がFALSEを返した場合、DWCのエラーがセットされている場合があります。DWC_GetLastErrorEx関数でエラー状態を取得し、必要に応じてエラーメッセージとともにエラーコードを表示してください。

サービスロケータは、独自サーバを利用する際に使用します。独自サーバへ接続する前に、任天堂認証サーバから(サービスロケータ情報に含まれる)認証トークンを取得してください。独自サーバへ接続する際には、取得した認証トークンを独自サーバに送信し、独自サーバ側で送信元が任天堂認証サーバで認証されたものであることを確認します。

独自サーバの運用に関する詳細は「独自ゲームサーバ利用説明書」をご確認ください。本マニュアルでは、サービスロケータ機能の利用方法のみを扱っています。

サービスロケータの利用の流れは以下のようになります。

  1. DWC_LoginAsync関数またはDWC_NASLoginAsync関数を使って任天堂認証サーバで認証を行いWi-Fiコネクションに接続します。
  2. DWC_SVLGetTokenAsync関数を呼び出し、任天堂認証サーバからサービスロケータ情報を取得する処理を開始します。この時DWC_InitForDevelopment/DWC_InitForProduction関数で設定したメモリ確保関数を使用して必要な作業領域の確保が行われます。
  3. 定期的にDWC_SVLProcess関数を呼び出し、サービスロケータ情報を取得する処理を進行させ、この関数の返り値によってサービスロケータ処理の終了を確認します。サービスロケータ処理が終了したとき、作業領域は自動的に解放されます。
  4. 任天堂認証サーバは、認証処理時と同様にサービスロケータ情報の要求元が正しいことを確認して、問題がなければサービスロケータ情報を返します。
  5. サービスロケータ情報を取得する処理が完了した後、任天堂認証サーバから取得したサービスロケータ情報はDWCSvlResult変数に格納されます。取得したサービスロケータ情報には、独自サーバに送信するための認証トークンが含まれています。
  6. 独自サーバへの接続の前に、取得した認証トークンを独自サーバに送信し、独自サーバ側で認証トークンの送信元が任天堂認証サーバで認証されたものであることを確認します。

正しい認証トークンを取得するには、各ゲームアプリケーションに対応したマスターROM用のテンプレートファイルを組み込んでおく必要があります。

参照

DWCSvlResult DWC_SVLProcess

履歴

5.3
アロケータの設定をDWC_SetMemFunc関数ではなくDWC_InitForDevelopment/DWC_InitForProduction関数で行うよう仕様変更したため、関連する記述を修正

5.1pr2より前の変更履歴はこちら