#include <dwc.h>
DWCError DWC_GetLastErrorEx(int *errorCode,
DWCErrorType *errorType);| errorCode | エラーコード格納先ポインタ。取得の必要がない場合は、NULLを指定してください |
| errorType | エラー処理タイプ格納先ポインタ。取得の必要がない場合は、NULLを指定してください |
最後の通信エラーの情報を取得します。エラー状態に入るとDWCライブラリは、ほとんどすべての関数を受け付けなくなります。エラー状態から復帰するためには、適切なエラー処理を行ったのちDWC_ClearError関数を呼び出してください。
エラーコード格納先ポインタの指すバッファに、アプリケーションがエラー発生時に表示すべきエラーコードが返ります。エラーコードは負の値で返りますので、符号を反転し、正の値にしてから画面に表示してください。ただし、エラーコードが0の場合やエラー処理タイプがDWC_ETYPE_LIGHTの場合は、ゲーム固有の表示のみで、エラーコード表示は必要ありません。
errorTypeには、エラー発生後に必要な復帰処理やエラーコード表示に関する情報が格納されるので、この値ごとに定型的なエラー処理を作成することができます。
エラーコードについては、別途提供されている「DSネットワークエラーコードリスト」も合わせてご参照ください。
GameSpySDK関連(-60000〜-99999)
ダウンロード機能関連(-31000〜-31999)
不正文字列チェック機能関連(-33000〜-33999)
認証サーバ関連(-20000〜-29999)
インターネット接続処理関連(-50000〜-59999)
GameSpySDK(GameSpyサーバの機能を利用するライブラリ)に関連するエラーコードは、次の3種類の値の合計で表現されます。
「エラー処理が起こったシーケンス」+「エラーの発生したGameSpySDK種別」+「エラーの詳細情報」
FriendsMatchライブラリを使用しない場合はGameSpySDK関連のエラーは発生しません。
DWC_ECODE_SEQ_LOGIN | -60000 | ログイン処理でのエラー |
DWC_ECODE_SEQ_FRIEND | -70000 | 友達管理処理でのエラー |
DWC_ECODE_SEQ_MATCH | -80000 | マッチメイク処理でのエラー |
DWC_ECODE_SEQ_ETC | -90000 | 上記以外の処理でのエラー |
DWC_ECODE_GS_GP | -1000 | GameSpyGPのエラー |
DWC_ECODE_GS_PERS | -2000 | GameSpyPersistentのエラー |
DWC_ECODE_GS_STATS | -3000 | GameSpyStatsのエラー |
DWC_ECODE_GS_QR2 | -4000 | GameSpyQR2のエラー |
DWC_ECODE_GS_SB | -5000 | GameSpyServerBrowsingのエラー |
DWC_ECODE_GS_NN | -6000 | GameSpyNatNegotiationのエラー |
DWC_ECODE_GS_GT2 | -7000 | GameSpygt2のエラー |
DWC_ECODE_GS_HTTP | -8000 | GameSpyHTTPのエラー |
DWC_ECODE_GS_ETC | -9000 | GameSpyその他のSDKのエラー |
DWC_ECODE_TYPE_NETWORK | -10 | ネットワーク障害 |
DWC_ECODE_TYPE_SERVER | -20 | GameSpyサーバ障害 |
DWC_ECODE_TYPE_DNS | -30 | DNS障害 |
DWC_ECODE_TYPE_DATA | -40 | 不正なデータを受信 |
DWC_ECODE_TYPE_SOCKET | -50 | ソケット通信エラー |
DWC_ECODE_TYPE_BIND | -60 | ソケットのバインドエラー |
DWC_ECODE_TYPE_TIMEOUT | -70 | タイムアウト発生 |
DWC_ECODE_TYPE_PEER | -80 | 1対1の通信で不具合 |
DWC_ECODE_TYPE_CONN_OVER | -100 | コネクション数オーバ |
DWC_ECODE_TYPE_STATS_AUTH | -200 | STATSサーバログインエラー |
DWC_ECODE_TYPE_STATS_LOAD | -210 | STATSサーバデータロードエラー |
DWC_ECODE_TYPE_STATS_SAVE | -220 | STATSサーバデータセーブエラー |
DWC_ECODE_TYPE_NOT_FRIEND | -400 | 指定された相手が相互に登録された友達ではない |
DWC_ECODE_TYPE_OTHER | -410 | 相手が通信切断した(主にサーバクライアントマッチメイク時) |
DWC_ECODE_TYPE_MUCH_FAILUR | -420 | NATネゴシエーションに規定回数以上失敗した |
DWC_ECODE_TYPE_SC_CL_FAIL | -430 | サーバクライアントマッチメイクにおけるクライアントの接続失敗 |
DWC_ECODE_TYPE_FAILED_SERVER_MIGRATION | -431 | サーバホストが切断後、サーバ交代に失敗したかサーバ交代ができない条件だったので、新しいサーバホストに接続できなかった |
DWC_ECODE_TYPE_FAILED_CONNECT_GROUPID | -432 | GroupIDを指定しての接続に失敗 |
DWC_ECODE_TYPE_CLOSE | -600 | コネクションクローズ時のエラー |
DWC_ECODE_TYPE_TRANS_HEADER | -610 | ありえない受信ステートでReliableデータを受信した時のエラー |
DWC_ECODE_TYPE_TRANS_BODY | -620 | 受信バッファがオーバーフローした時のエラー |
DWC_ECODE_TYPE_TRANS_SEND | -630 | Reliable送信に失敗 |
DWC_ECODE_TYPE_TRANS_UNKNOWN_PEER | -640 | 自分が認識していない相手からの受信時のエラー |
DWC_ECODE_TYPE_AC_FATAL | -700 | 自動接続処理中のACでのエラーグループ。この場合下位桁は専用のstate値。 |
DWC_ECODE_TYPE_OPEN_FILE | -800 | GameSpyHTTPファイルオープン失敗 |
DWC_ECODE_TYPE_INVALID_POST | -810 | GameSpyHTTP無効な送信 |
DWC_ECODE_TYPE_REQ_INVALID | -820 | GameSpyHTTPファイル名等無効 |
DWC_ECODE_TYPE_UNSPECIFIED | -830 | GameSpyHTTP詳細不明のエラー |
DWC_ECODE_TYPE_BUFF_OVER | -840 | GameSpyHTTPバッファオーバーフロー |
DWC_ECODE_TYPE_PARSE_URL | -850 | GameSpyHTTPURLの解析エラー |
DWC_ECODE_TYPE_BAD_RESPONSE | -860 | GameSpyHTTPサーバからのレスポンス解析エラー |
DWC_ECODE_TYPE_REJECTED | -870 | GameSpyHTTPサーバからのリクエスト等拒否 |
DWC_ECODE_TYPE_FILE_RW | -880 | GameSpyHTTPローカルファイルRead/Writeエラー |
DWC_ECODE_TYPE_INCOMPLETE | -890 | GameSpyHTTPダウンロード中断 |
DWC_ECODE_TYPE_TO_BIG | -900 | GameSpyHTTPファイルサイズが大きすぎてダウンロード不可 |
DWC_ECODE_TYPE_ENCRYPTION | -910 | GameSpyHTTPエンクリプションエラー |
DWC_ECODE_TYPE_ALLOC | -1 | メモリ確保失敗 |
DWC_ECODE_TYPE_PARAM | -2 | パラメータエラー |
DWC_ECODE_TYPE_SO_SOCKET | -3 | SOのエラーが原因のGameSpygt2のソケットエラー |
DWC_ECODE_TYPE_NOT_INIT | -4 | インターネット接続の初期化がされていない |
DWC_ECODE_TYPE_DUP_INIT | -5 | ライブラリが二度初期化された |
DWC_ECODE_TYPE_WM_INIT | -6 | WMの初期化に失敗した |
DWC_ECODE_TYPE_UNEXPECTED | -9 | 予期しない状態、もしくはUnkwonなGameSpyエラー発生 |
ダウンロード機能に関連するエラーコードは、次の3種類の値の合計で表現されます。
DWC_ECODE_SEQ_ADDINS(-30000)+DWC_ECODE_FUNC_ND(-1000)+「エラーの詳細情報」
DWC_ECODE_TYPE_ND_ALLOC | -1 | メモリ確保失敗 |
DWC_ECODE_TYPE_ND_FATAL | -9 | 以上に定義されない致命的なエラーが発生した |
DWC_ECODE_TYPE_ND_BUSY | -10 | その関数を呼び出せないステートで関数を呼んだ |
DWC_ECODE_TYPE_ND_HTTP | -20 | HTTP通信に失敗 |
DWC_ECODE_TYPE_ND_BUFFULL | -30 | 受信したデータが確保された受信バッファより大きかった。(TwlDWC5.0正式版以降ではDWC_ECODE_TYPE_ND_BUFFULLは発生しません。DWC_ECODE_TYPE_ND_FATALがセットされます。) |
DWC_ECODE_TYPE_ND_PARAM | -40 | 関数に渡したパラメータが不正 |
| (定義なし) | -101 | パラメータが不正(ダウンロードサーバ接続用ゲームコードのフォーマットが間違えている等) |
| (定義なし) | -102 | サービス未登録(ダウンロードサーバに登録されていない接続用ゲームコードを指定した) |
| (定義なし) | -103 | トークン(サービスロケータ情報)が不正 |
| (定義なし) | -104 | トークン(サービスロケータ情報)の有効期限が切れている |
| (定義なし) | -105 | コンテンツが存在しない |
| (定義なし) | -106 | 属性が一致しない |
| (定義なし) | -107 | コンテンツの有効期限が切れている |
| (定義なし) | -108 | サービス対象でないアクセスポイントからのアクセス |
| (定義なし) | -109 | データベースに接続できない(ダウンロードサーバの問題) |
| (定義なし) | -110 | パスワードが一致していない |
不正文字列チェック機能に関連するエラーコードは、次の3種類の値の合計で表現されます。
DWC_ECODE_SEQ_ADDINS(-30000)+DWC_ECODE_FUNC_PROF(-3000)+「エラーの詳細情報」
DWC_ECODE_TYPE_PROF_CONN | -10 | 認証サーバとの接続に問題があった |
DWC_ECODE_TYPE_PROF_PARSE | -20 | 認証サーバの応答に問題があった |
DWC_ECODE_TYPE_PROF_OTHER | -30 | その他の理由でエラーが発生した |
認証サーバでのログイン処理や、サービスロケータ情報取得処理に関連するエラーコードです。
インターネット接続処理に関連するエラーコードは、次の2種類の値の合計で表現されます。
エラーの詳細情報(+接続先タイプ)
-50000 | インターネット自動接続処理が完了する前にAPから切断された。接続先タイプは00〜98。 |
-50099 | APのビーコンが全く見つからなかった。接続先タイプは99。 |
-50199 | 不明な理由でネットワークの初期化に失敗した。接続先タイプは99。 |
-50599 | EULAに同意していないため、インターネットに接続できなかった。接続先タイプは99。 |
-50699 | 無線機能がOFFになっているため、接続試行を開始できなかった。接続先タイプは99。 |
-51099 | APのビーコンは見つかったが、接続候補のSSIDに一致するものが見つからなかった。接続先タイプは99。 |
-51100 | WEPキーが異なっているため、APに接続できなかった。 ※認証要求に対するステータスコードが「15:チャレンジの失敗による認証拒否(WEPキー間違い)」。 【特例:接続先タイプが03の場合】PC側で接続許可になっていないため、ニンテンドーWi-Fiコネクタに接続できなかった。 |
-51200 | APに接続可能な上限台数を越えているため、APに接続できなかった。 ※アソシエーション要求に対するステータスコードが「17:アクセスポイントの資源不足による接続拒否」。 |
-51300 | 何らかの原因でAPに接続できなかった。 |
-52000 | DHCPに失敗した。 |
-52100 | (インターネット自動接続処理全般を通して)DNSに失敗した。 |
-52200 | インターネット上のHTTP接続テスト用サーバに接続できなかった。 |
-52300 | 認証サーバのアカウント作成に失敗した。 (一度もWi-Fiコネクションに接続したことのない本体では、インターネット自動接続処理中にアカウントの作成が行なわれます。) |
-53000 | 認証サーバからホットスポット認証情報を取得できなかった。 |
-53100 | ホットスポットの認証処理に失敗した。 |
-53200 | ホットスポットの認証処理後に接続テスト用サーバに接続できなかった。 |
-54000 | 通信中にネットワークから切断された。(無線接続) |
-54100 | 通信中にネットワークから切断された。(インターネット接続) |
-54900 | 通信中に致命的なエラーが発生した。 |
0 | 接続先1のアクセスポイント |
-1 | 接続先2のアクセスポイント |
-2 | 接続先3のアクセスポイント |
-3 | ニンテンドーWi-FiUSBコネクタ |
-4 | ニンテンドーWi-Fiステーション |
-5 | FREESPOT(フリースポット) |
-6 | Wayport(北米ホットスポット)※現在は使用できません |
-7 | (予約) |
-8 | nintendozone |
-10 | 接続先4のアクセスポイント |
-11 | 接続先5のアクセスポイント |
-12 | 接続先6のアクセスポイント |
エラー処理タイプ(DWCErrorType)は、エラー発生時にどの時点までライブラリを初期化すべきかを返します。
DWC_ETYPE_NO_ERROR | エラーなし |
DWC_ETYPE_LIGHT | ゲーム固有の表示のみで、エラーコード表示は必要ありません。 DWC_ClearError関数を呼び出せば、復帰可能です。 |
DWC_ETYPE_SHOW_ERROR | エラーコードを表示してください。 DWC_ClearError関数を呼び出せば、復帰可能です。 |
DWC_ETYPE_SHUTDOWN_FM | DWC_ShutdownFriendsMatch関数を呼び出して、FriendsMatchライブラリを終了する必要があります。エラーコードを表示してください。 |
DWC_ETYPE_SHUTDOWN_GHTTP | 以下の各ライブラリ解放関数を必要に応じて呼び出してください。 DWC_RnkShutdown関数(汎用ランキングライブラリ) エラーコードを表示してください。 |
DWC_ETYPE_SHUTDOWN_ND | DWC_NdCleanupAsync関数を呼び出して、ダウンロードライブラリを終了する必要があります。エラーコードを表示してください。 |
DWC_ETYPE_DISCONNECT | 以下の各ライブラリ解放関数を必要に応じて呼び出してください。 DWC_ShutdownFriendsMatch関数(FriendsMatchライブラリ) DWC_NdCleanupAsync関数(ダウンロードライブラリ) DWC_RnkShutdown関数(汎用ランキングライブラリ) その後、DWC_CleanupInetあるいはDWC_CleanupInetAsync関数で通信の切断も行う必要があります。エラーコードを表示してください。 |
DWC_ETYPE_FATAL | FatalError相当なので、Nitroでは、電源OFFを促す必要があります。Twlではリセット(ランチャーへの戻り)を促す必要があります。エラーコードを表示してください。 |
DWC_ClearError
DWC_ShutdownFriendsMatch
DWC_NdCleanupAsync
DWC_GetLastError
5.1pr2より前の変更履歴はこちら