DWC_GetLastErrorEx

構文

#include <dwc.h>
DWCError DWC_GetLastErrorEx(int *errorCode,
                            DWCErrorType *errorType);

引数

errorCode エラーコード格納先ポインタ。取得の必要がない場合は、NULLを指定してください
errorType エラー処理タイプ格納先ポインタ。取得の必要がない場合は、NULLを指定してください

返り値

説明
対応するエラー処理タイプ
DWC_ERROR_NONEエラーなしDWC_ETYPE_NO_ERROR
DWC_ERROR_FRIENDS_SHORTAGE指定の人数の有効な友達がいないのに友達指定ピアマッチメイクを始めようとしたDWC_ETYPE_LIGHT
DWC_ERROR_NOT_FRIEND_SERVERサーバクライアントマッチメイクで、サーバDSに指定した友達が相互に友達ではない、もしくはサーバを立てていないDWC_ETYPE_LIGHT
DWC_ERROR_SC_CONNECT_BLOCKサーバクライアントマッチメイクで、クライアントがサーバから接続を拒否されたDWC_ETYPE_LIGHT
DWC_ERROR_SERVER_FULLサーバクライアントマッチメイクのサーバDSが定員オーバーDWC_ETYPE_LIGHT
DWC_ERROR_SVL_ANYサービスロケータ情報取得中のその他のエラーDWC_ETYPE_SHOW_ERROR
DWC_ERROR_PROF_ANY不正文字列チェックライブラリのその他のエラーDWC_ETYPE_SHOW_ERROR
DWC_ERROR_GDB_ANYGDBライブラリのエラー。通常のDWCでは発生しません。DWC_ETYPE_SHOW_ERROR
DWC_ERROR_NETWORKその他のネットワークエラーDWC_ETYPE_SHUTDOWN_FM
DWC_ERROR_GHTTP_ANYHTTP通信(GameSpyHTTP)のエラーDWC_ETYPE_SHUTDOWN_GHTTP
DWC_ERROR_ND_ANYダウンロードライブラリのその他のエラーDWC_ETYPE_SHUTDOWN_ND
DWC_ERROR_AUTH_ANY認証に関するエラーDWC_ETYPE_DISCONNECT
DWC_ERROR_AUTH_OUT_OF_SERVICEサービス終了DWC_ETYPE_DISCONNECT
DWC_ERROR_AUTH_STOP_SERVICEサービス一時中断中DWC_ETYPE_DISCONNECT
DWC_ERROR_AC_ANY自動接続に関するエラーDWC_ETYPE_DISCONNECT
DWC_ERROR_DISCONNECTED切断されたDWC_ETYPE_DISCONNECT
DWC_ERROR_ND_HTTPダウンロードライブラリのHTTP通信エラーDWC_ETYPE_DISCONNECT
DWC_ERROR_SVL_HTTPサービスロケータ情報取得中のHTTP通信エラーDWC_ETYPE_DISCONNECT
DWC_ERROR_PROF_HTTP不正文字列チェックライブラリのHTTP通信エラーDWC_ETYPE_DISCONNECT
DWC_ERROR_DS_MEMORY_ANY本体セーブデータに関するエラーDWC_ETYPE_FATAL
DWC_ERROR_FATAL致命的なエラーDWC_ETYPE_FATAL

説明

最後の通信エラーの情報を取得します。エラー状態に入るとDWCライブラリは、ほとんどすべての関数を受け付けなくなります。エラー状態から復帰するためには、適切なエラー処理を行ったのちDWC_ClearError関数を呼び出してください。

エラーコード格納先ポインタの指すバッファに、アプリケーションがエラー発生時に表示すべきエラーコードが返ります。エラーコードは負の値で返りますので、符号を反転し、正の値にしてから画面に表示してください。ただし、エラーコードが0の場合やエラー処理タイプがDWC_ETYPE_LIGHTの場合は、ゲーム固有の表示のみで、エラーコード表示は必要ありません。

errorTypeには、エラー発生後に必要な復帰処理やエラーコード表示に関する情報が格納されるので、この値ごとに定型的なエラー処理を作成することができます。

エラーコード(errorCode)

エラーコードについては、別途提供されている「DSネットワークエラーコードリスト」も合わせてご参照ください。

目次

GameSpySDK関連(-60000〜-99999)
ダウンロード機能関連(-31000〜-31999)
不正文字列チェック機能関連(-33000〜-33999)
認証サーバ関連(-20000〜-29999)
インターネット接続処理関連(-50000〜-59999)


GameSpySDK関連(-60000〜-99999)

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上記以外の処理でのエラー
エラーの発生したGameSpySDK種別
DWC_ECODE_GS_GP-1000GameSpyGPのエラー
DWC_ECODE_GS_PERS-2000GameSpyPersistentのエラー
DWC_ECODE_GS_STATS-3000GameSpyStatsのエラー
DWC_ECODE_GS_QR2-4000GameSpyQR2のエラー
DWC_ECODE_GS_SB-5000GameSpyServerBrowsingのエラー
DWC_ECODE_GS_NN-6000GameSpyNatNegotiationのエラー
DWC_ECODE_GS_GT2-7000GameSpygt2のエラー
DWC_ECODE_GS_HTTP-8000GameSpyHTTPのエラー
DWC_ECODE_GS_ETC-9000GameSpyその他のSDKのエラー
エラーの詳細情報
DWC_ECODE_TYPE_NETWORK-10ネットワーク障害
DWC_ECODE_TYPE_SERVER-20GameSpyサーバ障害
DWC_ECODE_TYPE_DNS-30DNS障害
DWC_ECODE_TYPE_DATA-40不正なデータを受信
DWC_ECODE_TYPE_SOCKET-50ソケット通信エラー
DWC_ECODE_TYPE_BIND-60ソケットのバインドエラー
DWC_ECODE_TYPE_TIMEOUT-70タイムアウト発生
DWC_ECODE_TYPE_PEER-801対1の通信で不具合
DWC_ECODE_TYPE_CONN_OVER-100コネクション数オーバ
DWC_ECODE_TYPE_STATS_AUTH-200STATSサーバログインエラー
DWC_ECODE_TYPE_STATS_LOAD-210STATSサーバデータロードエラー
DWC_ECODE_TYPE_STATS_SAVE-220STATSサーバデータセーブエラー
DWC_ECODE_TYPE_NOT_FRIEND-400指定された相手が相互に登録された友達ではない
DWC_ECODE_TYPE_OTHER-410相手が通信切断した(主にサーバクライアントマッチメイク時)
DWC_ECODE_TYPE_MUCH_FAILUR-420NATネゴシエーションに規定回数以上失敗した
DWC_ECODE_TYPE_SC_CL_FAIL-430サーバクライアントマッチメイクにおけるクライアントの接続失敗
DWC_ECODE_TYPE_FAILED_SERVER_MIGRATION-431サーバホストが切断後、サーバ交代に失敗したかサーバ交代ができない条件だったので、新しいサーバホストに接続できなかった
DWC_ECODE_TYPE_FAILED_CONNECT_GROUPID-432GroupIDを指定しての接続に失敗
DWC_ECODE_TYPE_CLOSE-600コネクションクローズ時のエラー
DWC_ECODE_TYPE_TRANS_HEADER-610ありえない受信ステートでReliableデータを受信した時のエラー
DWC_ECODE_TYPE_TRANS_BODY-620受信バッファがオーバーフローした時のエラー
DWC_ECODE_TYPE_TRANS_SEND-630Reliable送信に失敗
DWC_ECODE_TYPE_TRANS_UNKNOWN_PEER-640自分が認識していない相手からの受信時のエラー
DWC_ECODE_TYPE_AC_FATAL-700自動接続処理中のACでのエラーグループ。この場合下位桁は専用のstate値。
DWC_ECODE_TYPE_OPEN_FILE-800GameSpyHTTPファイルオープン失敗
DWC_ECODE_TYPE_INVALID_POST-810GameSpyHTTP無効な送信
DWC_ECODE_TYPE_REQ_INVALID-820GameSpyHTTPファイル名等無効
DWC_ECODE_TYPE_UNSPECIFIED-830GameSpyHTTP詳細不明のエラー
DWC_ECODE_TYPE_BUFF_OVER-840GameSpyHTTPバッファオーバーフロー
DWC_ECODE_TYPE_PARSE_URL-850GameSpyHTTPURLの解析エラー
DWC_ECODE_TYPE_BAD_RESPONSE-860GameSpyHTTPサーバからのレスポンス解析エラー
DWC_ECODE_TYPE_REJECTED-870GameSpyHTTPサーバからのリクエスト等拒否
DWC_ECODE_TYPE_FILE_RW-880GameSpyHTTPローカルファイルRead/Writeエラー
DWC_ECODE_TYPE_INCOMPLETE-890GameSpyHTTPダウンロード中断
DWC_ECODE_TYPE_TO_BIG-900GameSpyHTTPファイルサイズが大きすぎてダウンロード不可
DWC_ECODE_TYPE_ENCRYPTION-910GameSpyHTTPエンクリプションエラー
DWC_ECODE_TYPE_ALLOC-1メモリ確保失敗
DWC_ECODE_TYPE_PARAM-2パラメータエラー
DWC_ECODE_TYPE_SO_SOCKET-3SOのエラーが原因のGameSpygt2のソケットエラー
DWC_ECODE_TYPE_NOT_INIT-4インターネット接続の初期化がされていない
DWC_ECODE_TYPE_DUP_INIT-5ライブラリが二度初期化された
DWC_ECODE_TYPE_WM_INIT-6WMの初期化に失敗した
DWC_ECODE_TYPE_UNEXPECTED-9予期しない状態、もしくはUnkwonなGameSpyエラー発生

ダウンロード機能関連(-31000〜-31999)

ダウンロード機能に関連するエラーコードは、次の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-20HTTP通信に失敗
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パスワードが一致していない

不正文字列チェック機能関連(-33000〜-33999)

不正文字列チェック機能に関連するエラーコードは、次の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その他の理由でエラーが発生した

認証サーバ関連(-20000〜-29999)

認証サーバでのログイン処理や、サービスロケータ情報取得処理に関連するエラーコードです。

インターネット接続処理関連(-50000〜-59999)

インターネット接続処理に関連するエラーコードは、次の2種類の値の合計で表現されます。
エラーの詳細情報(+接続先タイプ)

エラーの詳細情報
-50000インターネット自動接続処理が完了する前にAPから切断された。接続先タイプは00〜98。
-50099APのビーコンが全く見つからなかった。接続先タイプは99。
-50199不明な理由でネットワークの初期化に失敗した。接続先タイプは99。
-50599EULAに同意していないため、インターネットに接続できなかった。接続先タイプは99。
-50699無線機能がOFFになっているため、接続試行を開始できなかった。接続先タイプは99。
-51099APのビーコンは見つかったが、接続候補のSSIDに一致するものが見つからなかった。接続先タイプは99。
-51100WEPキーが異なっているため、APに接続できなかった。
※認証要求に対するステータスコードが「15:チャレンジの失敗による認証拒否(WEPキー間違い)」。
【特例:接続先タイプが03の場合】PC側で接続許可になっていないため、ニンテンドーWi-Fiコネクタに接続できなかった。
-51200APに接続可能な上限台数を越えているため、APに接続できなかった。
※アソシエーション要求に対するステータスコードが「17:アクセスポイントの資源不足による接続拒否」。
-51300何らかの原因でAPに接続できなかった。
-52000DHCPに失敗した。
-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ステーション
-5FREESPOT(フリースポット)
-6Wayport(北米ホットスポット)※現在は使用できません
-7(予約)
-8nintendozone
-10接続先4のアクセスポイント
-11接続先5のアクセスポイント
-12接続先6のアクセスポイント

エラー処理タイプ(errorType)

エラー処理タイプ(DWCErrorType)は、エラー発生時にどの時点までライブラリを初期化すべきかを返します。

DWC_ETYPE_NO_ERRORエラーなし
DWC_ETYPE_LIGHTゲーム固有の表示のみで、エラーコード表示は必要ありません。
DWC_ClearError関数を呼び出せば、復帰可能です。
DWC_ETYPE_SHOW_ERRORエラーコードを表示してください。
DWC_ClearError関数を呼び出せば、復帰可能です。
DWC_ETYPE_SHUTDOWN_FMDWC_ShutdownFriendsMatch関数を呼び出して、FriendsMatchライブラリを終了する必要があります。エラーコードを表示してください。
DWC_ETYPE_SHUTDOWN_GHTTP以下の各ライブラリ解放関数を必要に応じて呼び出してください。
DWC_RnkShutdown関数(汎用ランキングライブラリ)
エラーコードを表示してください。
DWC_ETYPE_SHUTDOWN_NDDWC_NdCleanupAsync関数を呼び出して、ダウンロードライブラリを終了する必要があります。エラーコードを表示してください。
DWC_ETYPE_DISCONNECT以下の各ライブラリ解放関数を必要に応じて呼び出してください。
DWC_ShutdownFriendsMatch関数(FriendsMatchライブラリ)
DWC_NdCleanupAsync関数(ダウンロードライブラリ)
DWC_RnkShutdown関数(汎用ランキングライブラリ)
その後、DWC_CleanupInetあるいはDWC_CleanupInetAsync関数で通信の切断も行う必要があります。エラーコードを表示してください。
DWC_ETYPE_FATALFatalError相当なので、Nitroでは、電源OFFを促す必要があります。Twlではリセット(ランチャーへの戻り)を促す必要があります。エラーコードを表示してください。

参照

DWC_ClearError DWC_ShutdownFriendsMatch DWC_NdCleanupAsync DWC_GetLastError

履歴

5.2
無効なリンクを削除
5.2pr1
意味のないアスタリスク(※)を削除
5.1
Wayport(北米ホットスポット)が現在は使用できないことについて追記
5.1pr2
返り値の説明にDWC_ERROR_NETWORK_LIGHTを追加
「DSネットワークエラーコードリスト」に関する説明を追加

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