#include <dwc.h>
BOOL DWC_CheckProfanityAsync(const u16 **words,
int wordsnum,
const char *reserved,
int timeout,
char *result,
int *badwordsnum);| words | チェックする文字列配列へのポインタ
|
| wordsnum | wordsで指定した文字列配列の要素数(1〜50) |
| reserved | NULLを指定します |
| timeout | サーバの応答タイムアウト時間(ミリ秒単位) (0を指定した場合はデフォルト値の10000が使われます) |
| result | チェック結果の格納先へのポインタ (wordsnumバイトの領域が必要です) |
| badwordsnum | チェック結果に含まれる不正文字列の個数の格納先へのポインタ |
| TRUE | 不正文字列チェック処理を開始した |
| FALSE | 不正文字列チェック処理の開始に失敗した |
不正文字列チェック処理を開始します。不正文字列チェック中に呼び出した場合は必ずFALSEを返します。
不正文字列のチェックは認証サーバと通信することで行い、そのチェック内容はDWC_LoginAsync関数によるものと同じです。
本関数では単体で不正文字列チェックができること以外に、次の制限内で一度に複数の文字列をチェックできます。
本関数を呼び出した後は、不正文字列チェック処理を進行させるためにDWC_CheckProfanityProcess関数を毎ゲームフレーム程度の頻度で呼び出してください。不正文字列チェック処理が成功終了すると、resultにチェック結果が配列として格納されます。
resultに格納されるチェック結果は、全リージョンを示す'A'のときとそれ以外の場合で異なります。
■全リージョンを示す'A'のとき
リージョン毎に決められたビットフィールドに、wordsに与えたチェック対象の文字列の順に結果が不正であれば1、そうでなければ0が入ります。
結果、resultは以下の値の論理和となります。
DWC_PROF_REGION_JP | 0x01 日本リージョンで不正 |
DWC_PROF_REGION_US | 0x02 北米リージョンで不正 |
DWC_PROF_REGION_EU | 0x04 欧州リージョンで不正 |
DWC_PROF_REGION_KR | 0x08 韓国リージョンで不正 |
DWC_PROF_REGION_CN | 0x10 中国リージョンで不正 |
DWC_PROF_REGION_ALL | 0x80 いずれかのリージョンで不正 必ずしも上記リージョン毎の結果の論理和になっていないことに留意してください。ライブラリで未定義のリージョンで不正と判断された場合も含めて結果はセットされます。これは将来的に認証サーバ側でリージョンの追加が行われる可能性を想定しての仕様になります。また引数のbadwordsnumに入る値もこのビットが元になります。 |
【例】
words[4]={L"goodoword1",L"goodoword2",L"badword",L"goodoword3"}
という文字列群をチェックして3番目の"badword"のみが全てのリージョンで不正な文字列であった場合、
result[4]={0,0,0x9f,0}
badwordsnum=1
となります。
■それ以外のとき
wordsに与えたチェック対象の文字列の順に結果が不正であれば1、そうでなければ0が入ります。
【例】
words[4]={L"goodoword1",L"goodoword2",L"badword",L"goodoword3"}
という文字列群をチェックして3番目の"badword"のみが不正な文字列であった場合、
result[4]={0,0,1,0}
badwordsnum=1
となります。
不正文字列チェックで不正と判定された場合のテストを行なうために下記の単語が認証サーバに不正文字列として登録されています。
DWC_CheckProfanityProcess
DWC_LoginAsync
DWC_CheckProfanityExAsync
5.1pr2より前の変更履歴はこちら