CTR-Pia  5.4.3
Game Communication Engine
 全て クラス ネームスペース 関数 変数 型定義 列挙型 列挙型の値 ページ
クラス nn::pia::session::Session

マッチメイク処理と P2P 通信用セッションの構築/参加処理をまとめるクラスです。 [詳細]

+ nn::pia::session::Sessionに対する継承グラフ

構成

struct  DebugSetting
 (デバッグ用) session::Session::SetDebugSetting に渡すデバッグ機能設定用構造体です。 [詳細]
 
struct  Setting
 session::Session::CreateInstance() に各種パラメータを渡すための構造体です。 [詳細]
 
struct  StartupSetting
 session::Session::Startup に渡す設定用構造体です。 [詳細]
 
class  StationIdConstIterator
 セッションに参加している StationId を参照するためのイテレータです( const 版)。 [詳細]
 
class  StationIdIterator
 セッション内で有効な StationId を参照するためのイテレータです(非 const 版)。 [詳細]
 

Public 型

enum  DisconnectReason {
  DisconnectReason_UnknownReason = 0,
  DisconnectReason_NotYetCommunicated,
  DisconnectReason_OperationOfOwn,
  DisconnectReason_OperationOfOther,
  DisconnectReason_KickoutByUser,
  DisconnectReason_KickoutBySystem,
  DisconnectReason_InconsistentInfo,
  DisconnectReason_MigrationFail,
  DisconnectReason_ExternalFactor,
  DisconnectReason_MigrationFatalError
}
 Sesssion が通信不可能な状態の場合に、通信不可能になった理由を表す列挙型です。 [詳細]
 
enum  EventType {
  EventType_EventJoin = 0,
  EventType_EventLeave,
  EventType_SessionHostChanged,
  EventType_HostMigrationFailed,
  EventType_JointSessionHostChanged,
  EventType_StartSessionCreateJoint = 11,
  EventType_EndSessionCreateJoint,
  EventType_StartSessionJoinJoint,
  EventType_EndSessionJoinJoint,
  EventType_StartSessionJointRandom,
  EventType_EndSessionJointRandom,
  EventType_StartSessionDestroyJoint,
  EventType_EndSessionDestroyJoint,
  EventType_StartSessionLeaveJoint,
  EventType_EndSessionLeaveJoint,
  EventType_SessionMigrationFailed,
  EventType_SetSessionSystemPassword,
  EventType_ClearSessionSystemPassword
}
 セッション状態変化通知コールバックで引数として渡される列挙型です。 [詳細]
 
typedef bool(* JoiningApprovalCallback )(const transport::Station::IdentificationToken *pRequesterToken)
 セッションホストとして参加要求を受け取った際に呼び出される承認/拒否判定コールバックの関数型です。
 
typedef void(* SessionEventCallback )(EventType eventType, StationId id, void *pApplicationParam)
 セッションの状態が変化した場合に呼び出されるコールバックの関数型です。
 
enum  SessionOpenStatus {
  SessionOpenStatus_Unknown,
  SessionOpenStatus_Open,
  SessionOpenStatus_Close
}
 セッションの開閉状態を表す列挙型です。 [詳細]
 
enum  Status {
  Status_NotConnected,
  Status_ConnectedSession,
  Status_MigratingSession,
  Status_ConnectedJointSession,
  Status_DisconnectedSession,
  Status_DisconnectedNetwork,
  Status_DisconnectedNetworkByDuplicateLogin
}
 セッションの状態を表す列挙型です。 [詳細]
 

Public メソッド

初期化終了処理
Result Startup (const StartupSetting &startupSetting)
 スタートアップ処理を実行します。
 
void Cleanup ()
 クリーンアップ処理を実行します。
 
セッションの操作
bool IsAsyncProcessInProgress () const
 セッション API の非同期処理が行われているかを取得します。
 
Result JoinRandomSessionAsync (const JoinRandomSessionSetting *pJoinRandomSessionSetting)
 ランダムマッチメイクを行いセッションの構築/参加を行います。
 
bool IsJoinRandomSessionCompleted () const
 JoinRandomSessionAsync の非同期処理の完了をチェックします。
 
Result GetJoinRandomSessionResult () const
 JoinRandomSessionAsync の非同期処理の結果を取得します。
 
Result GetJoinRandomSessionScore (uint32_t *pScore) const
 JoinRandomSessionAsync の非同期処理でセッション参加時のスコアを取得します。
 
Result CancelJoinRandomSessionAsync ()
 JoinRandomSessionAsync の非同期処理をキャンセルします。
 
Result BrowseSessionAsync (const SessionSearchCriteria *pSearchCriteria)
 セッションの検索を行います。
 
bool IsBrowseSessionCompleted () const
 BrowseSessionAsync の非同期処理の完了をチェックします。
 
Result GetBrowseSessionResult () const
 BrowseSessionAsync の非同期処理の結果を取得します。
 
ISessionInfoListGetBrowsedSessionInfoList ()
 BrowseSessionAsync の非同期処理で検索できたセッションのリストを取得します。
 
Result CreateSessionAsync (const CreateSessionSetting *pCreateSessionSetting)
 セッションの構築を行います。
 
bool IsCreateSessionCompleted () const
 CreateSessionAsync の非同期処理の完了をチェックします。
 
Result GetCreateSessionResult () const
 CreateSessionAsync の非同期処理の結果を取得します。
 
Result JoinSessionAsync (const JoinSessionSetting *pJoinSessionSetting)
 セッションへの参加を行います。
 
bool IsJoinSessionCompleted () const
 JoinSessionAsync の非同期処理の完了をチェックします。
 
Result GetJoinSessionResult () const
 JoinSessionAsync の非同期処理の結果を取得します。
 
Result CancelJoinSessionAsync ()
 JoinSessionAsync の非同期処理をキャンセルします。
 
Result LeaveSessionAsync ()
 セッションからの離脱を行います。
 
bool IsLeaveSessionCompleted () const
 LeaveSessionAsync の非同期処理の完了をチェックします。
 
Result GetLeaveSessionResult () const
 LeaveSessionAsync の非同期処理の結果を取得します。
 
Result OpenSessionAsync (const UpdateSessionSetting *pUpdateSessionSetting=NULL)
 セッションの参加受付を開始します。
 
bool IsOpenSessionCompleted () const
 OpenSessionAsync の非同期処理の完了をチェックします。
 
Result GetOpenSessionResult () const
 OpenSessionAsync の非同期処理の結果を取得します。
 
Result CloseSessionAsync ()
 セッションの参加締切を行います。
 
bool IsCloseSessionCompleted () const
 CloseSessionAsync の非同期処理の完了をチェックします。
 
Result GetCloseSessionResult () const
 CloseSessionAsync の非同期処理の結果を取得します。
 
Result GenerateSessionSystemPasswordAsync ()
 サーバー側でシステムパスワードを生成し、セッションにそのパスワードを設定します。
 
bool IsGenerateSessionSystemPasswordCompleted () const
 GenerateSessionSystemPasswordAsync の非同期処理の完了をチェックします。
 
Result GetGenerateSessionSystemPasswordResult () const
 GenerateSessionSystemPasswordAsync の非同期処理の結果を取得します。
 
const common::StringGetSessionSystemPassword ()
 GenerateSessionSystemPasswordAsync でセッションに設定されたシステムパスワードを取得します。
 
Result ClearSessionSystemPasswordAsync ()
 セッションに設定されたシステムパスワードを解除します。
 
bool IsClearSystemPasswordCompleted () const
 ClearSessionSystemPasswordAsync の非同期処理の完了をチェックします。
 
Result GetClearSystemPasswordResult () const
 ClearSessionSystemPasswordAsync の非同期処理の結果を取得します。
 
Result UpdateSessionSettingAsync (const UpdateSessionSetting *pUpdateSessionSetting)
 指定されたセッションの設定を更新します。
 
bool IsUpdateSessionSettingCompleted () const
 UpdateSessionSettingAsync の非同期処理の完了をチェックします。
 
Result GetUpdateSessionSettingResult () const
 UpdateSessionSettingAsync の非同期処理の結果を取得します。
 
Result UpdateSelectionPriority (uint8_t priority) const
 同じ条件のセッションが見つかった際のマッチメイクの優先度を更新します。
 
bool IsUpdatableSelectionPriority (uint8_t priority) const
 更新する予定の値で UpdateSelectionPriority が使用可能かを返します。
 
コミュニティの操作
uint64_t ConvertCommunityIdToCommunityCode (uint32_t communityId)
 コミュニティIDをコミュニティコードに変換します。
 
uint32_t ConvertCommunityCodeToCommunityId (uint64_t communityCode)
 コミュニティコードをコミュニティIDに変換します。
 
Result CreateCommunityAsync (const CreateCommunitySetting *pCreateCommunitySetting)
 コミュニティの構築を行います。
 
bool IsCreateCommunityCompleted () const
 CreateCommunityAsync の非同期処理の完了をチェックします。
 
Result GetCreateCommunityResult () const
 CreateCommunityAsync の非同期処理の結果を取得します。
 
Result JoinCommunityAsync (const JoinCommunitySetting *pJoinCommunitySetting)
 コミュニティへの参加を行います。
 
bool IsJoinCommunityCompleted () const
 JoinCommunityAsync の非同期処理の完了をチェックします。
 
Result GetJoinCommunityResult () const
 JoinCommunityAsync の非同期処理の結果を取得します。
 
Result DestroyCommunityAsync (uint32_t communityId)
 コミュニティの破棄を行います。
 
bool IsDestroyCommunityCompleted () const
 DestroyCommunityAsync の非同期処理の完了をチェックします。
 
Result GetDestroyCommunityResult () const
 DestroyCommunityAsync の非同期処理の結果を取得します。
 
Result LeaveCommunityAsync (uint32_t communityId)
 コミュニティからの離脱を行います。
 
bool IsLeaveCommunityCompleted () const
 LeaveCommunityAsync の非同期処理の完了をチェックします。
 
Result GetLeaveCommunityResult () const
 LeaveCommunityAsync の非同期処理の結果を取得します。
 
Result BrowseCommunityAsync (const CommunitySearchCriteria *pSearchCriteria)
 コミュニティの検索を行います。
 
bool IsBrowseCommunityCompleted () const
 BrowseCommunityAsync の非同期処理の完了をチェックします。
 
Result GetBrowseCommunityResult () const
 BrowseCommunityAsync の非同期処理の結果を取得します。
 
ICommunityInfoListGetBrowsedCommunityInfoList ()
 BrowseCommunityAsync の非同期処理で検索できたコミュニティのリストを取得します。
 
Result UpdateCommunityAsync (const UpdateCommunitySetting *pUpdateCommunitySetting)
 指定されたコミュニティの設定を更新します。
 
bool IsUpdateCommunityCompleted () const
 UpdateCommunityAsync の非同期処理の完了をチェックします。
 
Result GetUpdateCommunityResult () const
 UpdateCommunityAsync の非同期処理の結果を取得します。
 
セッション情報の解析
bool IsHost () const
 自分自身がホストであるかどうかを取得します。
 
bool IsValidStationId (StationId id) const
 任意の StationId がセッション内で現在有効かどうかを確認します。
 
StationId GetLocalStationId () const
 セッション内での自身を示す StationId を取得します。
 
StationId GetHostStationId () const
 自身が参加しているセッションのホストを示す StationId を取得します。
 
Result GetLocalStationConnectionInfo (transport::StationConnectionInfo *pInfoOut)
 自分自身を示す StationConnectionInfo を取得します。
 
Result GetHostStationConnectionInfo (transport::StationConnectionInfo *pInfoOut)
 自身が参加しているセッションのホストを示す StationConnectionInfo を取得します。
 
uint16_t GetStationNum () const
 現在参加しているセッションで接続している有効なステーション数を取得します。
 
uint16_t GetPlayerNum () const
 現在参加しているセッションで接続しているプレイヤー数を取得します。
 
uint16_t GetMatchmakeSessionParticipantNum () const
 現在参加しているセッションで接続しているマッチメイクセッション参加者数を取得します。
 
uint16_t GetMatchmakeSessionStationNum () const
 マッチメイクセッションに参加しているステーション数を取得します。
 
uint16_t GetValidStationIdNum () const
 セッション内の有効な StationId の数を取得します。
 
Result CheckConnectionError () const
 セッションが通信可能な状態か否かを確認します。
 
Status GetStatus () const
 セッションの状態を示す Status を取得します。
 
bool IsBitRateCheckCompleted () const
 ビットレート判定機能でのビットレート値が取得できるかどうかを取得します。
 
Result GetUplinkBitRate (int32_t *pBps)
 ビットレート判定機能によって計測された、アップリンク方向の回線のビットレートを取得します。
 
bool IsBitRateCheckEnabled () const
 ビットレート判定機能が有効かどうかを取得します。
 
uint32_t GetSessionId () const
 セッション ID を取得します。
 
uint32_t GetSessionId (StationId id) const
 指定したステーション ID のステーションが参加しているセッション ID を取得します。
 
StationIdIterator Begin ()
 セッション内で有効な StationId のイテレータを返します(非 const 版)。
 
StationIdIterator End ()
 セッション内で有効な StationId のイテレータを返します(非 const 版)。
 
StationIdConstIterator Begin () const
 セッション内で有効な StationId のイテレータを返します(非 const 版)。
 
StationIdConstIterator End () const
 セッション内で有効な StationId のイテレータを返します(非 const 版)。
 
SessionOpenStatus GetSessionOpenStatus () const
 セッションの参加募集状態を取得します。
 
const ISessionInfoGetSessionInfo () const
 参加中のセッション情報を取得します。
 
Result RequestSessionInfoAsync ()
 参加中のセッション情報の取得要求を行います。
 
bool IsRequestSessionInfoCompleted () const
 RequestSessionInfoAsync の非同期処理の完了をチェックします。
 
Result GetRequestSessionInfoResult () const
 RequestSessionInfoAsync の非同期処理の結果を取得します。
 
ジョイントセッション機能
Result JoinRandomJointSessionAsync (const JoinRandomSessionSetting *pJoinRandomSessionSetting)
 ランダムマッチメイクでジョイントセッションに参加します。
 
bool IsJoinRandomJointSessionCompleted () const
 JoinRandomJointSessionAsync の非同期処理の完了をチェックします。
 
Result GetJoinRandomJointSessionResult () const
 JoinRandomJointSessionAsync の非同期処理の結果を取得します。
 
Result GetJoinRandomJointSessionScore (uint32_t *pScore) const
 JoinRandomJointSessionAsync の非同期処理でセッション参加時のスコアを取得します。
 
Result DestroyJointSessionAsync ()
 ジョイントセッションの解散を行います。
 
bool IsDestroyJointSessionCompleted () const
 DestroyJointSessionAsync の非同期処理の完了をチェックします。
 
Result GetDestroyJointSessionResult () const
 DestroyJointSessionAsync の非同期処理の結果を取得します。
 
Result OpenJointSessionAsync (const UpdateSessionSetting *pUpdateSessionSetting=NULL)
 ジョイントセッションの参加受付を開始します。
 
bool IsOpenJointSessionCompleted () const
 OpenJointSessionAsync の非同期処理の完了をチェックします。
 
Result GetOpenJointSessionResult () const
 OpenJointSessionAsync の非同期処理の結果を取得します。
 
Result CloseJointSessionAsync ()
 ジョイントセッションの参加締切を行います。
 
bool IsCloseJointSessionCompleted () const
 CloseJointSessionAsync の非同期処理の完了をチェックします。
 
Result GetCloseJointSessionResult () const
 CloseJointSessionAsync の非同期処理の結果を取得します。
 
Result UpdateJointSessionSettingAsync (const UpdateSessionSetting *pUpdateSessionSetting)
 ジョイントセッションの設定を更新します。
 
bool IsUpdateJointSessionSettingCompleted () const
 UpdateJointSessionSettingAsync の非同期処理の完了をチェックします。
 
Result GetUpdateJointSessionSettingResult () const
 UpdateJointSessionSettingAsync の非同期処理の結果を取得します。
 
uint32_t GetJointSessionId () const
 ジョイントセッションのセッション ID を取得します。
 
bool IsJointSessionHost () const
 自分自身がジョイントセッションのホストであるかどうかを取得します。
 
StationId GetJointSessionHostStationId () const
 ジョイントセッションのホストを示す StationId を取得します。
 
Result GetJointSessionHostStationConnectionInfo (transport::StationConnectionInfo *pInfoOut)
 自身が参加しているジョイントセッションのホストを示す StationConnectionInfo を取得します。
 
SessionOpenStatus GetJointSessionOpenStatus () const
 ジョイントセッションの参加募集状態を取得します。
 
const ISessionInfoGetJointSessionInfo () const
 参加中のジョイントセッションのセッション情報を取得します。
 
Result RequestJointSessionInfoAsync ()
 参加中のジョイントセッションのセッション情報の取得要求を行います。
 
bool IsRequestJointSessionInfoCompleted () const
 RequestJointSessionInfoAsync の非同期処理の完了をチェックします。
 
Result GetRequestJointSessionInfoResult () const
 RequestJointSessionInfoAsync の非同期処理の結果を取得します。
 
コールバック関数の登録/登録解除
Result RegisterSessionEventCallback (SessionEventCallback callback, void *pApplicationParam=NULL)
 セッションの状態が変化した場合に呼び出されるコールバック関数を登録します
 
void UnregisterSessionEventCallback ()
 登録されているセッション状態変化コールバック関数を登録解除します。
 
void RegisterJoiningApprovalCallback (JoiningApprovalCallback callback)
 セッションホストで参加要求が来た際に呼び出される承認/拒否判定コールバック関数を登録します
 
void UnregisterJoiningApprovalCallback ()
 登録されている参加要求が来た際に呼び出される承認/拒否判定コールバック関数の登録を解除します。
 
同期クロック
int64_t GetTime (void) const
 セッション作成時刻からの経過時間(同期クロック)をミリ秒で返します。
 
void SetSyncClockPulseInterval (int32_t interval)
 同期クロックの同期パルス送信間隔を指定します。
 
int32_t GetSyncClockPulseInterval (void) const
 同期クロックの同期パルス送信間隔を取得します。
 
リレー通信機能
Result SetMaxNumOfRelayRoutesAssignedToStation (uint16_t num)
 リレー接続有効時に、ステーション1台に割り当てられる転送依頼数の最大制限値を設定します。
 
Result SetMaxRtt (uint16_t rtt)
 リレー接続有効時に、1つのリレー接続経路の合計 RTT の最大制限値を設定します。
 
Result GetConnectionRoute (StationId targetId, StationId *pRelayId)
 (デバッグ用)リレー接続有効時に、任意の StationIndex と自分自身との接続経路情報を取得します。
 
Result RelayEmulation (StationIndex index1, StationIndex index2)
 (デバッグ用)リレー接続有効時に、任意の StationIndex 間の接続経路エミュレーション設定を指定します。
 
void ResetRelayEmulation ()
 (デバッグ用)リレー接続有効時に、接続経路エミュレーション設定を初期化します。
 
その他
bool IsHostMigrationEnabled () const
 ホストマイグレーションが有効になっているかを取得します。
 
Result KickoutStation (StationId id)
 セッションから任意のステーションを追放します。(ホスト専用)
 
DisconnectReason GetSessionDisconnectReason () const
 メッシュが通信不可能となった理由を取得します。
 
virtual void Trace (uint64_t flag) const
 デバッグに有用な情報をプリントします。
 
void SetMatchmakeAnalysisToken (const transport::Station::IdentificationToken *pToken)
 マッチメイク分析機能のセッション参加承認コールバックの不整合検知判定で使用する transport::Station::IdentificationToken を設定します。
 

Static Public メソッド

シングルトンインスタンスの操作
static Result CreateInstance (const Setting &setting)
 Session クラスのインスタンスを作成します(シングルトンパターン)。
 
static void DestroyInstance ()
 Session クラスのインスタンスを破棄します(シングルトンパターン)。
 
static SessionGetInstance ()
 Session クラスのインスタンスを得ます(シングルトンパターン)。
 
static Result SetDebugSetting (const DebugSetting &debugSetting)
 (デバッグ用) Session のデバッグ用機能について設定します。
 

説明

マッチメイク処理と P2P 通信用セッションの構築/参加処理をまとめるクラスです。

このクラスはシングルトンパターンです。単一のインスタンスしか生成できません。
Session 内部の処理の一部は common::Scheduler にジョブとして登録されますので、 common::Scheduler::Dispatch を定期的に呼び出す必要があります。

型定義

typedef bool(* nn::pia::session::Session::JoiningApprovalCallback)(const transport::Station::IdentificationToken *pRequesterToken)

セッションホストとして参加要求を受け取った際に呼び出される承認/拒否判定コールバックの関数型です。

自分がセッションホストで、クライアントから参加要求を受け取った場合に呼び出されるコールバックです。 返り値により参加要求を承認するか、拒否するか決定できます。

引数
[in]pRequesterToken参加要求の送信元ステーションの識別トークンを示すポインタです。
戻り値
参加要求を承認する場合は true、参加要求を拒否する場合は false を返します。
typedef void(* nn::pia::session::Session::SessionEventCallback)(EventType eventType, StationId id, void *pApplicationParam)

セッションの状態が変化した場合に呼び出されるコールバックの関数型です。

【引数仕様】

  • eventType : 状態変化の内容を示す列挙型(EventType 列挙型参照)
  • id : 状態変化が発生した対象の StationId
  • pApplicationParam : アプリケーションが登録したパラメータを示すポインタ

列挙型

Sesssion が通信不可能な状態の場合に、通信不可能になった理由を表す列挙型です。

GetSessionDisconnectReason で取得可能です。

列挙型の値:
DisconnectReason_UnknownReason 

通信不可能になった理由が不明です。通信中に(破棄、離脱などを行わずに) Session::Cleanup を行った場合などにこの値となります。

DisconnectReason_NotYetCommunicated 

まだ通信したことがない場合です。 Session::Startup 後に一度もセッション構築、参加をしていない場合はこの値となります。

DisconnectReason_OperationOfOwn 

自分自身の操作により通信不可能になった場合です。 Session::LeaveSessionAsync などを呼び出してセッション離脱した場合はこの値となります。

DisconnectReason_OperationOfOther 

セッション内の自分以外のステーションの操作により通信不可能になった場合です。自身がクライアントでホストがセッション破棄した場合などはこの値となります。

DisconnectReason_KickoutByUser 

Session::KickoutStation 呼出によりセッションから追放された場合です。

DisconnectReason_KickoutBySystem 

ライブラリ内部処理によってセッションから追放された場合です。リレー通信機能有効時のリレー依頼数制限などのライブラリ内部処理によってセッションから追放された場合はこの値となります。

DisconnectReason_InconsistentInfo 

セッション情報が不整合な状態になったので通信不可能になった場合です。ステーション数不一致などが原因の場合はこの値となります。

DisconnectReason_MigrationFail 

ホストマイグレーション処理に失敗したことにより通信不可能になった場合です。

DisconnectReason_ExternalFactor 

セッション以外の要因で通信不可能になった場合です。通信障害などが原因の場合はこの値となります。

DisconnectReason_MigrationFatalError 

ホストマイグレーション関連で致命的なエラーが発生した場合です。セッションが分裂状態になったことをライブラリ内部処理によって検知した場合などに発生します。

セッション状態変化通知コールバックで引数として渡される列挙型です。

セッションに発生した状態変化の内容を表現します。

列挙型の値:
EventType_EventJoin 

ステーションが参加したことを示します。

EventType_EventLeave 

ステーションが離脱したことを示します。

EventType_SessionHostChanged 

セッションのホスト権限が移譲されたことを示します。【ホストマイグレーション有効時のみ発生】

EventType_HostMigrationFailed 

ホストマイグレーションに失敗したことを示します。【ホストマイグレーション有効時のみ発生】

EventType_JointSessionHostChanged 

ジョイントセッションのホスト権限が移譲されたことを示します。【ジョイントセッション機能使用時、かつホストマイグレーション有効時のみ発生】

EventType_StartSessionCreateJoint 

ジョイントセッションの構築処理を開始したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_EndSessionCreateJoint 

ジョイントセッションの構築処理が完了したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_StartSessionJoinJoint 

ジョイントセッションの参加処理を開始したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_EndSessionJoinJoint 

ジョイントセッションの参加処理が完了したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_StartSessionJointRandom 

ランダムマッチメイクによるジョイントセッション処理を開始したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_EndSessionJointRandom 

ランダムマッチメイクによるジョイントセッション処理が完了したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_StartSessionDestroyJoint 

ジョイントセッションの解散処理を開始したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_EndSessionDestroyJoint 

ジョイントセッションの解散処理が完了したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_StartSessionLeaveJoint 

ジョイントセッションの離脱処理を開始したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_EndSessionLeaveJoint 

ジョイントセッションの離脱処理が完了したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_SessionMigrationFailed 

ジョイントセッション機能によるセッション移行処理が失敗したことを示します。【ジョイントセッション機能使用時のみ発生】

EventType_SetSessionSystemPassword 

セッションのシステムパスワードが設定されました。

EventType_ClearSessionSystemPassword 

セッションのシステムパスワードが解除されました。

セッションの開閉状態を表す列挙型です。

Session::GetSessionOpenStatus, Session::GetJointSessionOpenStatus で取得可能です。

列挙型の値:
SessionOpenStatus_Unknown 

参加募集状態は不明(クライアントのみ)

SessionOpenStatus_Open 

参加募集状態

SessionOpenStatus_Close 

参加締切状態

セッションの状態を表す列挙型です。

Session::GetStatus で取得可能です。

列挙型の値:
Status_NotConnected 

通信していません。

Status_ConnectedSession 

セッションへ参加済みです。

Status_MigratingSession 

ジョイントセッション機能によるセッション移行処理中です。(送受信不可期間有り)

Status_ConnectedJointSession 

ジョイントセッションへ参加済みです。

Status_DisconnectedSession 

セッションから切断されました。LeaveSessionAsync を 呼んだ後 Cleanup を呼び出す必要があります。

Status_DisconnectedNetwork 

ネットワークから切断されました。セッションに再度参加するためには、一度ログアウトしてから再度ログインする必要があります。

Status_DisconnectedNetworkByDuplicateLogin 

他の端末からの同一アカウントでのログインによりゲームサーバーから切断されました。

関数

StationIdIterator nn::pia::session::Session::Begin ( )
inline

セッション内で有効な StationId のイテレータを返します(非 const 版)。

戻り値
呼出時点でセッション内で有効な StationId リストの先頭を示すイテレータを返します。
参照
End
StationIdConstIterator nn::pia::session::Session::Begin ( ) const
inline

セッション内で有効な StationId のイテレータを返します(非 const 版)。

戻り値
呼出時点でセッション内で有効な StationId リストの先頭を示すイテレータを返します。
参照
End
Result nn::pia::session::Session::BrowseCommunityAsync ( const CommunitySearchCriteria pSearchCriteria)

コミュニティの検索を行います。


コミュニティ検索を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsBrowseCommunityCompleted でチェックし、結果は GetBrowseCommunityResult で確認できます。 検索処理が成功した場合、検索できたコミュニティのリストが更新され、GetBrowsedCommunityInfoList で取得できます。

引数
[in]pSearchCriteriaコミュニティ検索時の条件
戻り値
非同期処理の開始に成功すれば、成功のResultが返されます。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsBrowseCommunityCompleted, GetBrowseCommunityResult, GetBrowsedCommunityInfoList
Result nn::pia::session::Session::BrowseSessionAsync ( const SessionSearchCriteria pSearchCriteria)

セッションの検索を行います。


セッション検索を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsBrowseSessionCompleted でチェックし、結果は GetBrowseSessionResult で確認できます。 検索処理が成功した場合、検索できたセッションのリストが更新され、GetBrowsedSessionInfoList で取得できます。

引数
[in]pSearchCriteriaセッション検索時の条件
戻り値
非同期処理の開始に成功すれば、成功のResultが返されます。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsBrowseSessionCompleted, GetBrowseSessionResult, GetBrowsedSessionInfoList
Result nn::pia::session::Session::CancelJoinRandomSessionAsync ( )

JoinRandomSessionAsync の非同期処理をキャンセルします。

JoinRandomSessionAsync で開始された非同期処理は、本関数でキャンセルできます。 キャンセル処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 本関数を呼び出した後、ライブラリは速やかに非同期処理のキャンセルを行いますが、 キャンセルの完了は IsJoinRandomSessionCompleted() でチェックします。

戻り値
JoinRandomSessionAsync の非同期処理のキャンセル結果を返します。処理が成功していた場合、 IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:
ResultInvalidState JoinRandomSessionAsync の非同期処理が行われていないタイミングで呼び出しています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
JoinRandomSessionAsync, IsJoinRandomSessionCompleted, GetJoinRandomSessionResult
Result nn::pia::session::Session::CancelJoinSessionAsync ( )

JoinSessionAsync の非同期処理をキャンセルします。

JoinSessionAsync で開始された非同期処理は、本関数でキャンセルできます。 キャンセル処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 本関数を呼び出した後、ライブラリは速やかに非同期処理のキャンセルを行いますが、 キャンセルの完了は IsJoinSessionCompleted() でチェックします。

戻り値
JoinSessionAsync の非同期処理のキャンセル結果を返します。処理が成功していた場合、 IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:
ResultInvalidState JoinSessionAsync の非同期処理が行われていないタイミングで呼び出しています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
JoinSessionAsync, IsJoinSessionCompleted, GetJoinSessionResult
Result nn::pia::session::Session::CheckConnectionError ( ) const

セッションが通信可能な状態か否かを確認します。

セッションや接続状況に異常が発生した場合、この関数で取得できる Result が変化します。

セッション参加中に定期的に呼び出して状態を確認する必要があります。 また、Startup() 呼び出し後から JoinRandomSessionAsync(), CreateSessionAsync(), JoinSessionAsync() などによりセッションに参加するまでの間、 定期的に呼び出してネットワークの状態を確認することが可能です。 非同期処理中は、非同期処理内で確認し、切断時には非同期処理結果としてエラーを返すため、呼び出す必要はありません。(非同期処理中は適切な値を返しません) 通信可能な状態の場合、 GetStatus で詳細な状態を取得できます。 セッションへ参加した後にメッシュが通信不可能な状態になった場合、 GetSessionDisconnectReason で通信不可能になった詳細な理由を確認可能です。

戻り値
通信可能な状態の場合は IsSuccess() が真となる Result を返します。それ以外では以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultSessionConnectionIsLost メッシュから切断されました。LeaveSessionAsync を呼び出した後、クリーンアップ処理を実行してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

void nn::pia::session::Session::Cleanup ( )

クリーンアップ処理を実行します。

セッション終了後やエラー発生後に呼び出し、再度 Session の処理を行える状態にします。 CheckConnectionErrorResultSessionConnectionIsLost を返した場合は、 本関数を呼び出す前に LeaveSessionAsync を呼び出します。

Cleanup 後に再度 Session を使用する場合には、 Startup を呼び出す必要があります。

参照
Startup
Result nn::pia::session::Session::ClearSessionSystemPasswordAsync ( )

セッションに設定されたシステムパスワードを解除します。

この関数はローカル通信では使用できません。


非同期にセッションに設定されたシステムパスワードを解除します。 クライアントでは Session::EventType_ClearSessionSystemPassword で通知されます。 セッションホストであるときに実行できます。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsClearSystemPasswordCompleted でチェックし、結果は GetClearSystemPasswordResult で確認できます。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。ローカル通信では対応していません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。 インターネット通信時は他の非同期処理が行われていないこと、Startup が呼び出されていること、ホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsClearSystemPasswordCompleted, GetClearSystemPasswordResult, IsHost
Result nn::pia::session::Session::CloseJointSessionAsync ( )

ジョイントセッションの参加締切を行います。

この関数はローカル通信では使用できません。

ジョイントセッションホストのみ使用可能です。 ジョイントセッション参加を締め切る非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsCloseJointSessionCompleted でチェックし、結果は GetCloseJointSessionResult で確認できます。
本関数の呼び出し直前にジョイントセッションに新規参加しようとしているステーションが非同期処理完了後に参加してくる可能性があるため、 セッション参加締切後、マッチメイクセッションとメッシュの参加者数が一致するまで待ってから非同期処理を完了します。 また、一定期間(15秒)経過しても一致しない場合も非同期処理を完了します。この場合、GetCloseJointSessionResultResultNegligibleFault を返します。非同期処理完了後に新規参加してくる可能性がありますので、アプリケーションで適切にハンドリング する必要があります。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、ジョイントセッション参加状態であること、ジョイントセッションホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsCloseJointSessionCompleted, GetCloseJointSessionResult, IsJointSessionHost
Result nn::pia::session::Session::CloseSessionAsync ( )

セッションの参加締切を行います。


セッション参加を締め切る非同期処理を開始します。 セッションホストであるときに実行できます。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsCloseSessionCompleted でチェックし、結果は GetCloseSessionResult で確認できます。
本関数の呼び出し直前にセッションに新規参加しようとしているステーションが非同期処理完了後に参加してくる可能性があるため、 セッション参加締切後、マッチメイクセッションとメッシュの参加者数が一致するまで待ってから非同期処理を完了します。 また、一定期間(15秒)経過しても一致しない場合も非同期処理を完了します。この場合、GetCloseSessionResultResultNegligibleFault を返します。非同期処理完了後に新規参加してくる可能性がありますので、アプリケーションで適切にハンドリング する必要があります。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、セッション参加状態であること、セッションホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsCloseSessionCompleted, GetCloseSessionResult, IsHost
uint32_t nn::pia::session::Session::ConvertCommunityCodeToCommunityId ( uint64_t  communityCode)

コミュニティコードをコミュニティIDに変換します。

引数
[in]communityCode変換したいコミュニティコード
戻り値
コミュニティコードを元に変換されたコミュニティIDが返ります。
uint64_t nn::pia::session::Session::ConvertCommunityIdToCommunityCode ( uint32_t  communityId)

コミュニティIDをコミュニティコードに変換します。

引数
[in]communityId変換したいコミュニティID
戻り値
コミュニティIDを元に変換されたコミュニティコードが返ります。
Result nn::pia::session::Session::CreateCommunityAsync ( const CreateCommunitySetting pCreateCommunitySetting)

コミュニティの構築を行います。


コミュニティ構築を行う非同期処理を開始します。 構築したコミュニティのオーナーになります。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsCreateCommunityCompleted でチェックし、結果は GetCreateCommunityResult で確認できます。

引数
[in]pCreateCommunitySettingコミュニティを作成する際の条件
戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsCreateCommunityCompleted, GetCreateCommunityResult
static Result nn::pia::session::Session::CreateInstance ( const Setting setting)
static

Session クラスのインスタンスを作成します(シングルトンパターン)。

デバッグ機能設定用関数 SetDebugSetting でデバッグ用接続経路エミュレーション機能を使用する設定とした場合、 ネットワークトポロジー設定が NetworkTopology_RelayMesh でなければこの関数呼出が失敗します。

注意
製品版 ROM では、SetDebugSetting を呼び出してはいけません。
ローカル通信、Lan 通信時には Setting.networkTopology メンバに NetworkTopology_FullMesh 以外の値は指定できません。
ローカル通信、Lan 通信時には Setting.browsedCommunityInfoListNum メンバには 0 を指定してください。
引数
[in]settingインスタンス作成時に設定するパラメータ
戻り値
インスタンスの作成に成功すれば、成功の Result が返されます。
返るエラーの一覧:

nn::pia::ResultNotInitialized session モジュールが未初期化です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState インスタンスを作成するタイミングが誤っています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultAlreadyExists 既にインスタンスは作成されています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidArgument 引数で設定したパラメータの内容や組み合わせに問題があります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

Result nn::pia::session::Session::CreateSessionAsync ( const CreateSessionSetting pCreateSessionSetting)

セッションの構築を行います。


セッション構築を行う非同期処理を開始します。 構築したセッションのホストになります。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsCreateSessionCompleted でチェックし、結果は GetCreateSessionResult で確認できます。 また、非同期処理が成功していた場合は、GetSessionInfo でセッションの情報を取得できます。

引数
[in]pCreateSessionSettingセッションを作成する際の条件
戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsCreateSessionCompleted, GetCreateSessionResult
Result nn::pia::session::Session::DestroyCommunityAsync ( uint32_t  communityId)

コミュニティの破棄を行います。


コミュニティ破棄を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsDestroyCommunityCompleted でチェックし、結果は GetDestroyCommunityResult で確認できます。

引数
[in]communityId破棄するコミュニティ ID
戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsDestroyCommunityCompleted, GetDestroyCommunityResult
Result nn::pia::session::Session::DestroyJointSessionAsync ( )

ジョイントセッションの解散を行います。

この関数はローカル通信では使用できません。

ジョイントセッションホストのみ使用可能です。 ジョイントセッションの解散を行う非同期処理を開始します。

開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsDestroyJointSessionCompleted でチェックし、結果は GetDestroyJointSessionResult で確認できます。

ホストが本関数でジョイントセッションの解散処理を開始した場合、同行者側でも解散の内部処理が自動的に開始されます。 自動的に開始された処理の進捗は、状態変化イベント通知をハンドリングするか GetStatus で取得できる Status をチェックすることで確認できます。

非同期処理中は、送受信処理関連など一部の API は一時的に使用できません。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsDestroyJointSessionCompleted, GetDestroyJointSessionResult
StationIdIterator nn::pia::session::Session::End ( )
inline

セッション内で有効な StationId のイテレータを返します(非 const 版)。

戻り値
呼出時点でセッション内で有効な StationId リストの末尾の要素の次を示すイテレータを返します。
参照
Begin
StationIdConstIterator nn::pia::session::Session::End ( ) const
inline

セッション内で有効な StationId のイテレータを返します(非 const 版)。

戻り値
呼出時点でセッション内で有効な StationId リストの末尾の要素の次を示すイテレータを返します。
参照
Begin
Result nn::pia::session::Session::GenerateSessionSystemPasswordAsync ( )

サーバー側でシステムパスワードを生成し、セッションにそのパスワードを設定します。


この関数はローカル通信では使用できません。

非同期にサーバー側でシステムパスワードを生成し、セッションにそのパスワードを設定します。 非同期処理完了時に引数で渡した pSystemPassword に設定されたパスワードが保存されます。 クライアントでは Session::EventType_SetSessionSystemPassword で通知され、設定されたパスワードは GetSessionSystemPassword で取得できます。 セッションホストであるときに実行できます。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsGenerateSessionSystemPasswordCompleted でチェックし、結果は GetGenerateSessionSystemPasswordResult で確認できます。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。ローカル通信では対応していません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。 インターネット通信時は他の非同期処理が行われていないこと、Startup が呼び出されていること、ホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsGenerateSessionSystemPasswordCompleted, GetGenerateSessionSystemPasswordResult, GetSessionSystemPassword, IsHost
Result nn::pia::session::Session::GetBrowseCommunityResult ( ) const

BrowseCommunityAsync の非同期処理の結果を取得します。

BrowseCommunityAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理が完了していない場合、もしくは開始されていない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultCancelled 実行中の非同期処理をキャンセルしました。クリーンアップ処理を実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
BrowseCommunityAsync, IsBrowseCommunityCompleted, GetBrowsedCommunityInfoList
ICommunityInfoList* nn::pia::session::Session::GetBrowsedCommunityInfoList ( )

BrowseCommunityAsync の非同期処理で検索できたコミュニティのリストを取得します。

BrowseCommunityAsync で開始された非同期処理が完了し、GetBrowseCommunityResult が成功した後、本関数でコミュニティリストを取得できます。

戻り値
検索できたコミュニティのリストのポインタを返します。
参照
BrowseCommunityAsync, IsBrowseCommunityCompleted, GetBrowseCommunityResult
ISessionInfoList* nn::pia::session::Session::GetBrowsedSessionInfoList ( )

BrowseSessionAsync の非同期処理で検索できたセッションのリストを取得します。

BrowseSessionAsync で開始された非同期処理が完了し、GetBrowseSessionResult が成功した後、本関数でセッションリストを取得できます。

戻り値
検索できたセッションのリストのポインタを返します。
参照
BrowseSessionAsync, IsBrowseSessionCompleted, GetBrowseSessionResult
Result nn::pia::session::Session::GetBrowseSessionResult ( ) const

BrowseSessionAsync の非同期処理の結果を取得します。

BrowseSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理が完了していない場合、もしくは開始されていない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultCancelled 実行中の非同期処理をキャンセルしました。クリーンアップ処理を実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultErrorOccurred 内部でエラーが発生しました。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

参照
BrowseSessionAsync, IsBrowseSessionCompleted, GetBrowsedSessionInfoList
Result nn::pia::session::Session::GetClearSystemPasswordResult ( ) const

ClearSessionSystemPasswordAsync の非同期処理の結果を取得します。

この関数はローカル通信では使用できません。

ClearSessionSystemPasswordAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionConnectionIsLost メッシュから切断されました。LeaveSessionAsync を呼び出した後、クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
ClearSessionSystemPasswordAsync, IsClearSystemPasswordCompleted
Result nn::pia::session::Session::GetCloseJointSessionResult ( ) const

CloseJointSessionAsync の非同期処理の結果を取得します。

この関数はローカル通信では使用できません。

CloseJointSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionConnectionIsLost メッシュから切断されました。LeaveSessionAsync を呼び出した後、クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultNegligibleFault マッチメイクセッションとメッシュの参加人数が一致しない状態で一定時間経過しました。アプリケーションで適切にハンドリングしてください。

参照
CloseJointSessionAsync, IsCloseJointSessionCompleted
Result nn::pia::session::Session::GetCloseSessionResult ( ) const

CloseSessionAsync の非同期処理の結果を取得します。

CloseSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionConnectionIsLost メッシュから切断されました。LeaveSessionAsync を呼び出した後、クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultNegligibleFault マッチメイクセッションとメッシュの参加人数が一致しない状態で一定時間経過しました。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultErrorOccurred 内部でエラーが発生しました。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

参照
CloseSessionAsync, IsCloseSessionCompleted
Result nn::pia::session::Session::GetConnectionRoute ( StationId  targetId,
StationId pRelayId 
)

(デバッグ用)リレー接続有効時に、任意の StationIndex と自分自身との接続経路情報を取得します。

本関数はデバッグ用です。製品には組み込まないようお願いします。
自分自身と targetId のステーションとの接続経路情報について、以下の規則で pRelayId へ格納します。 (接続経路情報が取得できなかった場合は pRelayId の値を変更することはありません)

  • 直通接続の場合 : targetId
  • リレー接続の場合 : リレー依頼先ステーションの StationId
  • 自分自身の場合 : StationIdInvalid

内部処理の状態により接続経路情報の取得に失敗する場合があります。 この状態になるのは一時的であり、内部処理が正常に進行した後は正しく取得できるようになります。

引数
[in]targetId接続経路を取得したい対象の StationId を指定します。
[out]pRelayId接続経路情報を示す StationId が格納されます。
戻り値
正常に取得できた場合、成功の Result が返されます。
返るエラーの一覧:

nn::pia::ResultInvalidState リレー接続が有効ではない場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidArgument 対象の StationId が有効な値ではない場合、もしくは引数で指定されたポインタが有効ではない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNotFound 接続経路情報を取得できませんでした。対象のステーションはセッションに参加していません。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultTemporaryUnavailable 接続経路情報を取得できませんでした。ジョイントセッション処理が進行中のため、一時的に API を利用できない状態です。アプリケーションで適切にハンドリングしてください。

Result nn::pia::session::Session::GetCreateCommunityResult ( ) const

CreateCommunityAsync の非同期処理の結果を取得します。

CreateCommunityAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理を進行できない内部状態になりました。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultCreateCommunityFailedUpperLimit コミュニティの作成上限を超えました。クリーンアップ処理を実行してください。

nn::pia::ResultJoinCommunityFailedUpperLimit コミュニティの参加上限を超えました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

参照
CreateCommunityAsync, IsCreateCommunitynCompleted
Result nn::pia::session::Session::GetCreateSessionResult ( ) const

CreateSessionAsync の非同期処理の結果を取得します。

CreateSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理を進行できない内部状態になりました。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultDnsFailed DNS 解決に失敗しています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatCheckFailed NAT チェックに失敗しました。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultCancelled 非同期処理がキャンセルされました。クリーンアップ処理を実行してください。

nn::pia::ResultTimeOut タイムアウトで終了しました。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

nn::pia::ResultErrorOccurred 内部でエラーが発生しました。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultSessionWrongState 参加したセッションの状態が異常でした。クリーンアップ処理を実行してください。

参照
CreateSessionAsync, IsCreateSessionCompleted
Result nn::pia::session::Session::GetDestroyCommunityResult ( ) const

DestroyCommunityAsync の非同期処理の結果を取得します。

DestroyCommunityAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultInvalidState 対象のコミュニティのオーナーではありません、もしくは対象のコミュニティが公式コミュニティです。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultSessionIsNotFound 対象のコミュニティが存在しませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
DestroyCommunityAsync, IsDestroyCommunityCompleted
Result nn::pia::session::Session::GetDestroyJointSessionResult ( ) const

DestroyJointSessionAsync の非同期処理の結果を取得します。

この関数はローカル通信では使用できません。

DestroyJointSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
非同期処理が成功した場合、 IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 処理可能な状態では無かった場合に返ります。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultCompanionStationIsOffline 同行するクライアントがゲームサーバにログインしていない状態でした。クリーンアップ処理を実行してください。

nn::pia::ResultCompanionStationIsLeft 同行するクライアントとの接続が切断しました。クリーンアップ処理を実行してください。

nn::pia::ResultSessionMigrationFailed セッション移行処理に失敗しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
DestroyJointSessionAsync, IsDestroyJointSessionCompleted
Result nn::pia::session::Session::GetGenerateSessionSystemPasswordResult ( ) const

GenerateSessionSystemPasswordAsync の非同期処理の結果を取得します。


この関数はローカル通信では使用できません。

GenerateSessionSystemPasswordAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionConnectionIsLost メッシュから切断されました。LeaveSessionAsync を呼び出した後、クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
GenerateSessionSystemPasswordAsync, IsGenerateSessionSystemPasswordCompleted
Result nn::pia::session::Session::GetHostStationConnectionInfo ( transport::StationConnectionInfo pInfoOut)

自身が参加しているセッションのホストを示す StationConnectionInfo を取得します。

セッション参加中、ジョイントセッション参加中の場合、この関数はセッションのホストを示す StationConnectionInfo を返します。

引数
[out]pInfoOut取得したセッションホストを示すアドレスの格納先を示すポインタ
戻り値
成功すれば、 IsSuccess() が true を返す Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
返るエラーの一覧:

ResultInvalidArgument 引数に誤りがあります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultInvalidState セッションに参加していません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultTemporaryUnavailable セッション移行中です。アプリケーションで適切にハンドリングしてください。

戻り値
自身が参加しているセッションのホストを示す StationConnectionInfo を返します。
StationId nn::pia::session::Session::GetHostStationId ( ) const
inline

自身が参加しているセッションのホストを示す StationId を取得します。

セッション参加中でない場合、この関数は StationIdInvalid を返します。 セッション参加中、ジョイントセッション参加中の場合、この関数はセッションのホストを示す StationId を返します。

戻り値
自身が参加しているセッションのホストを示す StationId を返します。
static Session* nn::pia::session::Session::GetInstance ( void  )
inlinestatic

Session クラスのインスタンスを得ます(シングルトンパターン)。

事前に CreateInstance によるインスタンス生成と初期化を済ませていない場合は、 NULLポインタが返されます。

戻り値
Session インスタンスへのポインタ。
Result nn::pia::session::Session::GetJoinCommunityResult ( ) const

JoinCommunityAsync の非同期処理の結果を取得します。

JoinCommunityAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理を進行できない内部状態になりました。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultAlreadyJoinedCommunity 参加しようとしたコミュニティに既に参加していた。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultCommunityUserPasswordUnmatch 参加時に指定したユーザーパスワードがコミュニティに設定されたユーザーパスワードと一致しませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultCreateCommunityFailedUpperLimit コミュニティの作成上限を超えました。クリーンアップ処理を実行してください。

nn::pia::ResultJoinCommunityFailedUpperLimit コミュニティの参加上限を超えました。クリーンアップ処理を実行してください。

nn::pia::ResultCommunityIsFull 参加しようとしたコミュニティが満員でした。クリーンアップ処理を実行してください。

nn::pia::ResultCommunityIsNotFound 存在しないコミュニティでした。クリーンアップ処理を実行してください。

nn::pia::ResultCommunityIsClosed 参加しようとしたコミュニティが参加可能期間外でした。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
JoinCommunityAsync, IsJoinCommunitynCompleted
Result nn::pia::session::Session::GetJoinRandomJointSessionResult ( ) const

JoinRandomJointSessionAsync の非同期処理の結果を取得します。

この関数はローカル通信では使用できません。

JoinRandomJointSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
非同期処理が成功した場合、 IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 自身がジョイントセッション処理可能な状態では無かった場合に返ります。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失もしくは締め切られました。クリーンアップ処理を実行してください。

nn::pia::ResultMatchmakeSessionIsFull 対象のマッチメイクセッションが満員でした。クリーンアップ処理を実行してください。

nn::pia::ResultDeniedByParticipants セッション参加者が自分をブラックリストに登録しています。クリーンアップ処理を実行してください。

nn::pia::ResultParticipantInBlockList セッションに自分がブロックリストに登録している参加者がいました。クリーンアップ処理を実行してください。

nn::pia::ResultSessionUserPasswordUnmatch 参加時に指定したユーザーパスワードがセッションに設定されたユーザーパスワードと一致しませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultSessionSystemPasswordUnmatch 参加時に指定したシステムパスワードがセッションに設定されたシステムパスワードと一致しませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsClosed 参加を行おうとしたセッションが締め切られていました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultHostIsNotFriend 参加を行おうとしたセッションのホストがフレンドではありませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultCompanionStationIsOffline 同行するクライアントがゲームサーバにログインしていない状態でした。クリーンアップ処理を実行してください。

nn::pia::ResultCompanionStationIsLeft 同行するクライアントとの接続が切断しました。クリーンアップ処理を実行してください。

nn::pia::ResultSessionMigrationFailed セッション移行処理に失敗しました。クリーンアップ処理を実行してください。

nn::pia::ResultStationConnectionFailed 接続処理に失敗しました。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultStationConnectionNatTraversalFailedUnknown NAT トラバーサル接続処理に失敗しました。NAT タイプは不明でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEim NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EIM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEimRemoteEdm NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EIM, 接続失敗した相手の NAT タイプは EDM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEdmRemoteEim NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EDM, 接続失敗した相手の NAT タイプは EIM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEdm NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EDM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEimSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EIM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEimRemoteEdmSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EIM, 接続失敗した相手の NAT タイプは EDM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEdmRemoteEimSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EDM, 接続失敗した相手の NAT タイプは EIM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEdmSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EDM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalRequestTimeout NAT トラバーサル接続処理に失敗しました。NAT トラバーサル要求がタイムアウトしました。 インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultJoinRequestDenied メッシュホストに接続を拒否されました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultMeshIsFull 参加を希望したメッシュが満員で、参加できませんでした。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedNoCandidate リレー経路の候補がいなかったため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedRttLimit リレー経路の RTT 制限を超えたため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedRelayNumLimit リレー経路のリレー依頼数制限を超えたため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedUnknown リレー接続に失敗しました。(詳細不明)クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultInvalidSystemMessage メッシュホストから不正な応答が届いたため、処理を中断しました。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultIncompatibleFormat 相手の通信形式が非互換です。異なる ROM (通信互換の無い Ver.の Pia を使用した ROM)と通信しようとした場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultSessionWrongState 参加したセッションの状態が異常でした。クリーンアップ処理を実行してください。

参照
JoinRandomJointSessionAsync, IsJoinRandomJointSessionCompleted
Result nn::pia::session::Session::GetJoinRandomJointSessionScore ( uint32_t *  pScore) const

JoinRandomJointSessionAsync の非同期処理でセッション参加時のスコアを取得します。

インターネット通信時のみ有効です。 スコアベースマッチメイク指定で JoinRandomJointSessionAsync の非同期処理が完了した後、本関数でスコアを取得できます。 ただし、自分がジョイントセッションホストの場合はスコアは取得できません。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 引数で指定されたポインタが有効ではない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理が完了していない場合、開始されていない場合、スコアベースマッチメイクを指定していない、自分が JoinRandomJointSessionAsync を呼び出していない、ジョイントセッションホストであるなど、スコアが取得できない状態の場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

Result nn::pia::session::Session::GetJoinRandomSessionResult ( ) const

JoinRandomSessionAsync の非同期処理の結果を取得します。

この関数はローカル通信では使用できません。

JoinRandomSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理が完了していない場合、もしくは開始されていない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultNatCheckFailed NAT チェックに失敗しました。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultDnsFailed DNS 解決に失敗しています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失もしくは締め切られました。クリーンアップ処理を実行してください。

nn::pia::ResultCancelled 非同期処理がキャンセルされました。クリーンアップ処理を実行してください。

nn::pia::ResultStationConnectionFailed 接続処理に失敗しました。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultStationConnectionNatTraversalFailedUnknown NAT トラバーサル接続処理に失敗しました。NAT タイプは不明でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEim NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EIM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEimRemoteEdm NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EIM, 接続失敗した相手の NAT タイプは EDM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEdmRemoteEim NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EDM, 接続失敗した相手の NAT タイプは EIM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEdm NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EDM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEimSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EIM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEimRemoteEdmSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EIM, 接続失敗した相手の NAT タイプは EDM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEdmRemoteEimSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EDM, 接続失敗した相手の NAT タイプは EIM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEdmSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EDM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalRequestTimeout NAT トラバーサル接続処理に失敗しました。NAT トラバーサル要求がタイムアウトしました。 インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultJoinRequestDenied セッションホストに接続を拒否されました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultMeshIsFull 参加を希望したメッシュが満員で、参加できませんでした。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedNoCandidate リレー経路の候補がいなかったため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedRttLimit リレー経路の RTT 制限を超えたため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedRelayNumLimit リレー経路のリレー依頼数制限を超えたため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedUnknown リレー接続に失敗しました。(詳細不明)クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultInvalidSystemMessage セッションホストから不正な応答が届いたため、処理を中断しました。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultIncompatibleFormat 相手の通信形式が非互換です。異なる ROM (通信互換の無い Ver.の Pia を使用した ROM)と通信しようとした場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultSessionWrongState 参加したセッションの状態が異常でした。クリーンアップ処理を実行してください。

nn::pia::ResultLanLowerVersion アプリケーションの通信バージョンが参加を行おうとしたセッションのものよりも低いです。LAN マッチメイク時にのみ返ります。クリーンアップ処理を実行してください。

nn::pia::ResultLanHigherVersion アプリケーションの通信バージョンが参加を行おうとしたセッションのものよりも高いです。LAN マッチメイク時にのみ返ります。クリーンアップ処理を実行してください。

参照
JoinRandomSessionAsync, IsJoinRandomSessionCompleted
Result nn::pia::session::Session::GetJoinRandomSessionScore ( uint32_t *  pScore) const

JoinRandomSessionAsync の非同期処理でセッション参加時のスコアを取得します。

インターネット通信時のみ有効です。 スコアベースマッチメイク指定で JoinRandomSessionAsync の非同期処理が完了した後、本関数でスコアを取得できます。 ただし、自分がセッションホストの場合はスコアは取得できません。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 引数で指定されたポインタが有効ではない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理が完了していない場合、開始されていない場合、スコアベースマッチメイクを指定していない、自分がセッションホストであるなど、スコアが取得できない状態の場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

Result nn::pia::session::Session::GetJoinSessionResult ( ) const

JoinSessionAsync の非同期処理の結果を取得します。

JoinSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 非同期処理が完了していない場合、もしくは開始されていない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失もしくは締め切られました。クリーンアップ処理を実行してください。

nn::pia::ResultMatchmakeSessionIsFull マッチメイクセッションが満員でした。クリーンアップ処理を実行してください。

nn::pia::ResultDeniedByParticipants セッション参加者が自分をブラックリストに登録しています。クリーンアップ処理を実行してください。

nn::pia::ResultParticipantInBlockList セッションに自分がブロックリストに登録している参加者がいました。クリーンアップ処理を実行してください。

nn::pia::ResultGameServerMaintenance ゲームサーバーのメンテナンスが行われています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultNatCheckFailed NAT チェックに失敗しました。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultDnsFailed DNS 解決に失敗しています。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultCancelled 非同期処理がキャンセルされました。クリーンアップ処理を実行してください。

nn::pia::ResultInvalidState 接続可能な状態では無かった場合に返ります。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultStationConnectionFailed 接続処理に失敗しました。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultStationConnectionNatTraversalFailedUnknown NAT トラバーサル接続処理に失敗しました。NAT タイプは不明でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEim NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EIM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEimRemoteEdm NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EIM, 接続失敗した相手の NAT タイプは EDM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEdmRemoteEim NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EDM, 接続失敗した相手の NAT タイプは EIM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEdm NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EDM でした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEimSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EIM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEimRemoteEdmSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EIM, 接続失敗した相手の NAT タイプは EDM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedLocalEdmRemoteEimSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身の NAT タイプは EDM, 接続失敗した相手の NAT タイプは EIM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalFailedBothEdmSamePublicAddress NAT トラバーサル接続処理に失敗しました。自身および接続失敗した相手の NAT タイプは共に EDM でした。また、自身および接続失敗した相手は同じグローバルIPアドレスでした。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultNatTraversalRequestTimeout NAT トラバーサル接続処理に失敗しました。NAT トラバーサル要求がタイムアウトしました。 インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理を実行してください。

nn::pia::ResultJoinRequestDenied セッションホストに接続を拒否されました。

nn::pia::ResultRelayFailedNoCandidate リレー経路の候補がいなかったため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedRttLimit リレー経路の RTT 制限を超えたため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedRelayNumLimit リレー経路のリレー依頼数制限を超えたため、リレー接続に失敗しました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultRelayFailedUnknown リレー接続に失敗しました。(詳細不明)クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultInvalidSystemMessage セッションホストから不正な応答が届いたため、処理を中断しました。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultSessionUserPasswordUnmatch 参加時に指定したユーザーパスワードがセッションに設定されたユーザーパスワードと一致しませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultSessionSystemPasswordUnmatch 参加時に指定したシステムパスワードがセッションに設定されたシステムパスワードと一致しませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsClosed 参加を行おうとしたセッションが締め切られていました。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

nn::pia::ResultHostIsNotFriend 参加を行おうとしたセッションのホストがフレンドではありませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultCompanionStationIsOffline 同行するクライアントがゲームサーバにログインしていない状態でした。クリーンアップ処理を実行してください。

nn::pia::ResultIncompatibleFormat 相手の通信形式が非互換です。異なる ROM (通信互換の無い Ver.の Pia を使用した ROM)と通信しようとした場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultSessionWrongState 参加したセッションの状態が異常でした。クリーンアップ処理を実行してください。

nn::pia::ResultNetworkIsFull ネットワークが満員でした。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

nn::pia::ResultTimeOut タイムアウトで終了しました。 local::UdsJoinSessionSetting で設定した暗号鍵が誤っている場合にも返ります。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

nn::pia::ResultLocalLowerVersion 自分の local::LocalNetworkVersion 、または、アプリケーションバージョンが参加を行おうとしたセッションのものよりも低いです。ローカル通信時にのみ返ります。エラー・EULA アプレットでエラーコード付きのエラー表示は行なわず、アプリケーションで独自のメッセージを表示してください。クリーンアップ処理を実行してください。

nn::pia::ResultLocalHigherVersion 自分の local::LocalNetworkVersion 、または、アプリケーションバージョンが参加を行おうとしたセッションのものよりも高いです。ローカル通信時にのみ返ります。エラー・EULA アプレットでエラーコード付きのエラー表示は行なわず、アプリケーションで独自のメッセージを表示してください。クリーンアップ処理を実行してください。

nn::pia::ResultErrorOccurred 内部でエラーが発生しました。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

nn::pia::ResultLanLowerVersion アプリケーションの通信バージョンが参加を行おうとしたセッションのものよりも低いです。LAN マッチメイク時にのみ返ります。クリーンアップ処理を実行してください。

nn::pia::ResultLanHigherVersion アプリケーションの通信バージョンが参加を行おうとしたセッションのものよりも高いです。LAN マッチメイク時にのみ返ります。クリーンアップ処理を実行してください。

クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。

返るエラーの一覧:
nn::pia::ResultMeshIsFull 参加を希望したメッシュが満員で、参加できませんでした。クリーンアップ処理を実行してください。アプリケーションで適切にハンドリングしてください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示しても構いませんが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。
参照
JoinSessionAsync, IsJoinSessionCompleted
Result nn::pia::session::Session::GetJointSessionHostStationConnectionInfo ( transport::StationConnectionInfo pInfoOut)

自身が参加しているジョイントセッションのホストを示す StationConnectionInfo を取得します。

ジョイントセッション参加中の場合、この関数はジョイントセッションのホストを示す StationConnectionInfo を返します。

引数
[out]pInfoOut取得したジョイントセッションホストを示すアドレスの格納先を示すポインタ
戻り値
成功すれば、 IsSuccess() が true を返す Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
返るエラーの一覧:

ResultInvalidArgument 引数に誤りがあります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultInvalidState ジョイントセッションに参加していません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

戻り値
自身が参加しているジョイントセッションのホストを示す StationConnectionInfo を返します。
StationId nn::pia::session::Session::GetJointSessionHostStationId ( ) const

ジョイントセッションのホストを示す StationId を取得します。

ジョイントセッション参加中でない場合、この関数は StationIdInvalid を返します。 ジョイントセッション参加中の場合、この関数はジョイントセッションのホストを示す StationId を返します。

戻り値
ジョイントセッションのホストを示す StationId を返します。
uint32_t nn::pia::session::Session::GetJointSessionId ( ) const

ジョイントセッションのセッション ID を取得します。

ローカル通信の時は、常に InvalidSessionId を返します。

戻り値
現在参加しているジョイントセッションのセッション ID を返します。ジョイントセッションに参加していない状態では InvalidSessionId を返します。
const ISessionInfo* nn::pia::session::Session::GetJointSessionInfo ( ) const

参加中のジョイントセッションのセッション情報を取得します。

セッション情報は自動的には更新されません。セッション情報の更新は RequestJointSessionInfoAsync で行う必要があります。

戻り値
参加中のジョイントセッションのセッション情報を返します。
SessionOpenStatus nn::pia::session::Session::GetJointSessionOpenStatus ( ) const

ジョイントセッションの参加募集状態を取得します。

ジョイントセッションホストのみ使用可能です。

戻り値
ジョイントセッションの参加募集状態を返します。
参照
IsJointSessionHost
Result nn::pia::session::Session::GetLeaveCommunityResult ( ) const

LeaveCommunityAsync の非同期処理の結果を取得します。

LeaveCommunityAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultInvalidState 対象のコミュニティに参加していませんでした。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultSessionIsNotFound 対象のコミュニティが存在しませんでした。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
LeaveCommunityAsync, IsLeaveCommunityCompleted
Result nn::pia::session::Session::GetLeaveSessionResult ( ) const

LeaveSessionAsync の非同期処理の結果を取得します。

LeaveSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 処理可能な状態では無かった場合に返ります。また、非同期処理が完了していない場合、もしくは開始されていない場合にも返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
LeaveSessionAsync, IsLeaveSessionCompleted
Result nn::pia::session::Session::GetLocalStationConnectionInfo ( transport::StationConnectionInfo pInfoOut)

自分自身を示す StationConnectionInfo を取得します。

セッション参加中、ジョイントセッション参加中の場合、この関数は自分自身を示す StationConnectionInfo を返します。

引数
[out]pInfoOut取得したセッションホストを示すアドレスの格納先を示すポインタ
戻り値
成功すれば、 IsSuccess() が true を返す Result が返されます。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
返るエラーの一覧:

ResultInvalidArgument 引数に誤りがあります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultInvalidState セッションに参加していません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultTemporaryUnavailable セッション移行中です。アプリケーションで適切にハンドリングしてください。

戻り値
自分自身を示す StationConnectionInfo を返します。
StationId nn::pia::session::Session::GetLocalStationId ( ) const
inline

セッション内での自身を示す StationId を取得します。

セッション参加中でない場合、この関数は StationIdInvalid を返します。

戻り値
自身を示す StationId を返します。
uint16_t nn::pia::session::Session::GetMatchmakeSessionParticipantNum ( ) const

現在参加しているセッションで接続しているマッチメイクセッション参加者数を取得します。

現在参加しているセッションで接続しているマッチメイクセッション参加者数を取得します。マッチメイクセッションの参加者が増減する際に更新されます。
セッションの状態に応じて、以下の値を返します。
GetStatus が Status_ConnectedSession を返すときは、参加中のマッチメイクセッションに参加しているマッチメイクセッション参加者数を返します。 GetStatus が Status_MigratingSession を返すときは、不定値を返します。 GetStatus が Status_ConnectedJointSession を返すときは、参加中のジョイントセッションのマッチメイクセッションに参加しているマッチメイクセッション参加者数を返します。

戻り値
接続中のマッチメイクセッション参加者数。
uint16_t nn::pia::session::Session::GetMatchmakeSessionStationNum ( ) const

マッチメイクセッションに参加しているステーション数を取得します。

マッチメイクセッションに参加しているステーション数を取得します。マッチメイクセッションの参加者が増減する際に更新されます。 あるステーションがマッチメイクセッションに参加してからセッションに参加するまでの間に、GetStationNum が返す値と一致しない期間があります。
セッションの状態に応じて、以下の値を返します。
GetStatus が Status_ConnectedSession を返すときは、参加中のマッチメイクセッションに参加しているステーション数を返します。 GetStatus が Status_MigratingSession を返すときは、不定値を返します。 GetStatus が Status_ConnectedJointSession を返すときは、参加中のジョイントセッションのマッチメイクセッションに参加しているステーション数を返します。

戻り値
マッチメイクセッションに参加中のステーション数。
Result nn::pia::session::Session::GetOpenJointSessionResult ( ) const

OpenJointSessionAsync の非同期処理の結果を取得します。

この関数はローカル通信では使用できません。

OpenJointSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionConnectionIsLost メッシュから切断されました。LeaveSessionAsync を呼び出した後、クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
OpenJointSessionAsync, IsOpenJointSessionCompleted
Result nn::pia::session::Session::GetOpenSessionResult ( ) const

OpenSessionAsync の非同期処理の結果を取得します。

OpenSessionAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionConnectionIsLost メッシュから切断されました。LeaveSessionAsync を呼び出した後、クリーンアップ処理を実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultErrorOccurred 内部でエラーが発生しました。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

参照
OpenSessionAsync, IsOpenSessionCompleted
uint16_t nn::pia::session::Session::GetPlayerNum ( ) const

現在参加しているセッションで接続しているプレイヤー数を取得します。

現在参加しているセッションで接続しているプレイヤー数を取得します。セッション参加者が増減する際に更新されます。
セッションの状態に応じて、以下の値を返します。
GetStatus が Status_ConnectedSession を返すときは、参加中のセッションで接続しているプレイヤー数を返します。 GetStatus が Status_MigratingSession を返すときは、不定値を返します。 GetStatus が Status_ConnectedJointSession を返すときは、参加中のジョイントセッションのセッションで接続しているプレイヤー数を返します。

戻り値
接続中のプレイヤー数。
Result nn::pia::session::Session::GetRequestJointSessionInfoResult ( ) const

RequestJointSessionInfoAsync の非同期処理の結果を取得します。

RequestJointSessionInfoAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
非同期処理が成功した場合、 IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 非同期処理が完了していない場合、もしくは開始されていない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

Result nn::pia::session::Session::GetRequestSessionInfoResult ( ) const

RequestSessionInfoAsync の非同期処理の結果を取得します。

RequestSessionInfoAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
非同期処理が成功した場合、 IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 非同期処理が完了していない場合、もしくは開始されていない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionConnectionIsLost メッシュから切断されました。LeaveSessionAsync を呼び出した後、クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

DisconnectReason nn::pia::session::Session::GetSessionDisconnectReason ( ) const

メッシュが通信不可能となった理由を取得します。

メッシュが通信可能な状態だった場合は、常に UNKNOWN_REASON が返されます。

戻り値
メッシュが通信不可能となった理由を表す DisconnectReason
参照
CheckConnectionError
uint32_t nn::pia::session::Session::GetSessionId ( ) const
inline

セッション ID を取得します。

ローカル通信時には同じセッション ID を持つ異なるセッションが存在する場合があります。

戻り値
現在参加しているセッションのセッション ID を返します。セッションに参加していない状態では InvalidSessionId を返します。
uint32_t nn::pia::session::Session::GetSessionId ( StationId  id) const

指定したステーション ID のステーションが参加しているセッション ID を取得します。

指定したステーション ID のステーションが参加しているセッション ID を取得します。

引数
[in]idステーション ID。
戻り値
指定したステーションIDのステーションが参加しているセッションのセッション ID を返します。そのステーションがセッションに参加していない状態では InvalidSessionId を返します。
const ISessionInfo* nn::pia::session::Session::GetSessionInfo ( ) const

参加中のセッション情報を取得します。

セッション情報は自動的には更新されません。セッション情報の更新は RequestSessionInfoAsync で行う必要があります。

戻り値
参加中のセッション情報を返します。 CreateSessionAsyncJoinSessionAsyncJoinRandomSessionAsyncRequestSessionInfoAsync の非同期処理完了後から他の非同期処理開始前まで取得可能です。 他の非同期処理開始後は NULL を返します。
SessionOpenStatus nn::pia::session::Session::GetSessionOpenStatus ( ) const

セッションの参加募集状態を取得します。

セッションホストのみ使用可能です。

戻り値
セッションの参加募集状態を返します。
参照
IsHost
const common::String& nn::pia::session::Session::GetSessionSystemPassword ( )

GenerateSessionSystemPasswordAsync でセッションに設定されたシステムパスワードを取得します。


この関数はローカル通信では使用できません。

GenerateSessionSystemPasswordAsync でセッションに設定されたシステムパスワードを取得します。 登録されたイベントコールバックに通知された Session::EventType_SetSessionSystemPassword の後、 セッションに設定されたシステムパスワードを取得できます。

戻り値
設定されたシステムパスワード
参照
GenerateSessionSystemPasswordAsync
uint16_t nn::pia::session::Session::GetStationNum ( ) const

現在参加しているセッションで接続している有効なステーション数を取得します。

現在参加しているセッションで接続している有効なステーション数を取得します。セッション参加者が増減する際に更新されます。
セッションの状態に応じて、以下の値を返します。
GetStatus が Status_ConnectedSession を返すときは、参加中のセッションで接続しているステーション数を返します。 GetStatus が Status_MigratingSession を返すときは、不定値を返します。 GetStatus が Status_ConnectedJointSession を返すときは、参加中のジョイントセッションのセッションで接続しているステーション数を返します。

戻り値
接続中のステーション数。
Status nn::pia::session::Session::GetStatus ( ) const

セッションの状態を示す Status を取得します。

セッションや接続状況に異常が発生した場合、この関数で取得できる Status が変化します。定期的に呼び出して状態を確認する必要があります。

戻り値
現在の Status を返します。
int32_t nn::pia::session::Session::GetSyncClockPulseInterval ( void  ) const

同期クロックの同期パルス送信間隔を取得します。

戻り値
同期パルス送信間隔を取得します。単位はミリ秒です。
参照
GetTime, SetSyncClockPulseInterval
int64_t nn::pia::session::Session::GetTime ( void  ) const

セッション作成時刻からの経過時間(同期クロック)をミリ秒で返します。

同期クロックは、セッションに参加している Station 間で同期される時計です。 セッションに参加したクライアントは、定期的に時刻同期パルスをセッションホストに送信します。 ホストがこのパルスに応答することで、ホストと各クライアントの時刻同期が実現されます。 この同期パルス送信間隔はデフォルトで 2 秒ですが、アプリケーションがこの値を 変更することもできます。詳しくは SetSyncClockPulseInterval(), GetSyncClockPulseInterval() を参照してください。

戻り値
セッション作成時刻からの経過時間をミリ秒で返します。 セッション参加直後など、ホストからの応答がまだ返されておらず、 セッションホストとの同期が取れていないタイミングでこの API を 呼び出したときは、負の値が返されます。
参照
SetSyncClockPulseInterval, GetSyncClockPulseInterval
Result nn::pia::session::Session::GetUpdateCommunityResult ( ) const

UpdateCommunityAsync の非同期処理の結果を取得します。

UpdateCommunityAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。コミュニティのオーナーではないか、公式コミュニティを更新しようとしていないか、ユーザーパスワード無しのコミュニティにパスワードを設定しようとしていないか、または他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のコミュニティが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
UpdateCommunityAsync, IsUpdateCommunityCompleted
Result nn::pia::session::Session::GetUpdateJointSessionSettingResult ( ) const

UpdateJointSessionSettingAsync の非同期処理の結果を取得します。

この関数はローカル通信では使用できません。

UpdateJointSessionSettingAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

参照
UpdateJointSessionSettingAsync, IsUpdateJointSessionSettingCompleted
Result nn::pia::session::Session::GetUpdateSessionSettingResult ( ) const

UpdateSessionSettingAsync の非同期処理の結果を取得します。

UpdateSessionSettingAsync で開始された非同期処理が完了した後、本関数で結果を取得できます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないことを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultSessionIsNotFound 非同期処理途中で対象のセッションが消失しました。クリーンアップ処理を実行してください。

nn::pia::ResultNexInternalError NEX の内部エラーです。nn::pia::Result::GetErrorCode() で取得できるエラーコードは NEX のものになります。エラーコードリストの NEX の項目をご確認ください。クリーンアップ処理、NEX サーバーからのログアウト処理、ネットワークのシャットダウン処理、終了処理を順に実行してください。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。アプリケーションで適切にハンドリングしてください。

nn::pia::ResultGameServerProcessAborted ゲームサーバーに関する処理が異常終了しました。セッション離脱処理、クリーンアップ処理、NEX サーバーからのログアウト処理を順に実行してください。

nn::pia::ResultErrorOccurred 内部でエラーが発生しました。ローカル通信時にのみ返ります。クリーンアップ処理を実行してください。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

参照
UpdateSessionSettingAsync, IsUpdateSessionSettingCompleted
Result nn::pia::session::Session::GetUplinkBitRate ( int32_t *  pBps)

ビットレート判定機能によって計測された、アップリンク方向の回線のビットレートを取得します。

この API 呼び出しで得られる値は、測定処理において単位時間あたりに受信できたデータ量にすぎず、 必ずしも回線の真の実力を表すものではないことに注意してください。 実際には高ビットレートが期待できる回線であったとしても、アプリケーション側の要求水準が 控えめなものであれば、測定処理におけるデータ送受信量も控えめなものとなるので、 取得できる bps 値は小さめなものとなります。

引数
[out]pBps測定されたビットレート値がセットされます。単位は bps です。測定値が得られなかった場合は負の値がセットされます。
戻り値
呼び出しが成功すれば、IsSuccess() が true を返す Result が返されます。
返るエラーの一覧:

ResultNotInitialized インスタンスが初期化されていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultInvalidArgument 引数が誤っています。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

ResultInvalidState この関数を呼び出すタイミングが誤っています。ビットレート判定機能を利用しない設定であるにもかかわらず、本 API を呼び出している可能性があります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

uint16_t nn::pia::session::Session::GetValidStationIdNum ( ) const

セッション内の有効な StationId の数を取得します。

セッション参加中でない場合、この関数は 0 を返します。

戻り値
セッション内の有効な StationId の数を返します。
bool nn::pia::session::Session::IsAsyncProcessInProgress ( ) const

セッション API の非同期処理が行われているかを取得します。

戻り値
非同期処理が行われている場合は true, 非同期処理が行われていない場合は false が返ります。
bool nn::pia::session::Session::IsBitRateCheckCompleted ( ) const

ビットレート判定機能でのビットレート値が取得できるかどうかを取得します。

戻り値
ビットレート値が取得できる状態になっていれば true を返します。タイムアウトやキャンセル等の理由で測定が失敗に終わった場合も true が返されます。
bool nn::pia::session::Session::IsBitRateCheckEnabled ( ) const

ビットレート判定機能が有効かどうかを取得します。

戻り値
ビットレート判定機能が有効であれば true を返します。
bool nn::pia::session::Session::IsBrowseCommunityCompleted ( ) const

BrowseCommunityAsync の非同期処理の完了をチェックします。

BrowseCommunityAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
BrowseCommunityAsync, GetBrowseCommunityResult, GetBrowsedCommunityInfoList
bool nn::pia::session::Session::IsBrowseSessionCompleted ( ) const

BrowseSessionAsync の非同期処理の完了をチェックします。

BrowseSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
BrowseSessionAsync, GetBrowseSessionResult, GetBrowsedSessionInfoList
bool nn::pia::session::Session::IsClearSystemPasswordCompleted ( ) const

ClearSessionSystemPasswordAsync の非同期処理の完了をチェックします。

この関数はローカル通信では使用できません。

ClearSessionSystemPasswordAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
ClearSessionSystemPasswordAsync, GetClearSystemPasswordResult
bool nn::pia::session::Session::IsCloseJointSessionCompleted ( ) const

CloseJointSessionAsync の非同期処理の完了をチェックします。

この関数はローカル通信では使用できません。

CloseJointSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
CloseJointSessionAsync, GetCloseJointSessionResult
bool nn::pia::session::Session::IsCloseSessionCompleted ( ) const

CloseSessionAsync の非同期処理の完了をチェックします。

CloseSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
CloseSessionAsync, GetCloseSessionResult
bool nn::pia::session::Session::IsCreateCommunityCompleted ( ) const

CreateCommunityAsync の非同期処理の完了をチェックします。

CreateCommunityAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
CreateCommunityAsync, GetCreateCommunityResult
bool nn::pia::session::Session::IsCreateSessionCompleted ( ) const

CreateSessionAsync の非同期処理の完了をチェックします。

CreateSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
CreateSessionAsync, GetCreateSessionResult
bool nn::pia::session::Session::IsDestroyCommunityCompleted ( ) const

DestroyCommunityAsync の非同期処理の完了をチェックします。

DestroyCommunityAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
DestroyCommunityAsync, GetDestroyCommunityResult
bool nn::pia::session::Session::IsDestroyJointSessionCompleted ( ) const

DestroyJointSessionAsync の非同期処理の完了をチェックします。

この関数はローカル通信では使用できません。

DestroyJointSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
DestroyJointSessionAsync, GetDestroyJointSessionResult
bool nn::pia::session::Session::IsGenerateSessionSystemPasswordCompleted ( ) const

GenerateSessionSystemPasswordAsync の非同期処理の完了をチェックします。

この関数はローカル通信では使用できません。

GenerateSessionSystemPasswordAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
GenerateSessionSystemPasswordAsync, GetGenerateSessionSystemPasswordResult
bool nn::pia::session::Session::IsHost ( ) const

自分自身がホストであるかどうかを取得します。

この関数は通常セッションのホストであるかどうかを返します。

戻り値
自分自身がホストの場合は true、そうでない場合は false が返ります。
bool nn::pia::session::Session::IsHostMigrationEnabled ( ) const

ホストマイグレーションが有効になっているかを取得します。

session::Session::Startup の引数に設定した値により返る値が決定します。

戻り値
ホストマイグレーションが有効な設定で session::Session::Startup を呼び出していた場合は true が返ります。
bool nn::pia::session::Session::IsJoinCommunityCompleted ( ) const

JoinCommunityAsync の非同期処理の完了をチェックします。

JoinCommunityAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
JoinCommunityAsync, GetJoinCommunityResult
bool nn::pia::session::Session::IsJoinRandomJointSessionCompleted ( ) const

JoinRandomJointSessionAsync の非同期処理の完了をチェックします。

この関数はローカル通信では使用できません。

JoinRandomJointSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
JoinRandomJointSessionAsync, GetJoinRandomJointSessionResult
bool nn::pia::session::Session::IsJoinRandomSessionCompleted ( ) const

JoinRandomSessionAsync の非同期処理の完了をチェックします。

この関数はローカル通信では使用できません。

JoinRandomSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
JoinRandomSessionAsync, GetJoinRandomSessionResult
bool nn::pia::session::Session::IsJoinSessionCompleted ( ) const

JoinSessionAsync の非同期処理の完了をチェックします。

JoinSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
JoinSessionAsync, GetJoinSessionResult
bool nn::pia::session::Session::IsJointSessionHost ( ) const

自分自身がジョイントセッションのホストであるかどうかを取得します。

この関数はジョイントセッションのホストであるかどうかを返します。

戻り値
自分自身がホストの場合は true、そうでない場合は false が返ります。
bool nn::pia::session::Session::IsLeaveCommunityCompleted ( ) const

LeaveCommunityAsync の非同期処理の完了をチェックします。

LeaveCommunityAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
LeaveCommunityAsync, GetLeaveCommunityResult
bool nn::pia::session::Session::IsLeaveSessionCompleted ( ) const

LeaveSessionAsync の非同期処理の完了をチェックします。

LeaveSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
LeaveSessionAsync, GetLeaveSessionResult
bool nn::pia::session::Session::IsOpenJointSessionCompleted ( ) const

OpenJointSessionAsync の非同期処理の完了をチェックします。

この関数はローカル通信では使用できません。

OpenJointSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
OpenJointSessionAsync, GetOpenJointSessionResult
bool nn::pia::session::Session::IsOpenSessionCompleted ( ) const

OpenSessionAsync の非同期処理の完了をチェックします。

OpenSessionAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
OpenSessionAsync, GetOpenSessionResult
bool nn::pia::session::Session::IsRequestJointSessionInfoCompleted ( ) const

RequestJointSessionInfoAsync の非同期処理の完了をチェックします。

RequestJointSessionInfoAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
RequestJointSessionInfoAsync, GetRequestJointSessionInfoResult
bool nn::pia::session::Session::IsRequestSessionInfoCompleted ( ) const

RequestSessionInfoAsync の非同期処理の完了をチェックします。

RequestSessionInfoAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
RequestSessionInfoAsync, GetRequestSessionInfoResult
bool nn::pia::session::Session::IsUpdatableSelectionPriority ( uint8_t  priority) const

更新する予定の値で UpdateSelectionPriority が使用可能かを返します。

引数
[in]priority更新予定のマッチメイクの優先度
戻り値
UpdateSelectionPriority が使用可能であれば、true を返します。
bool nn::pia::session::Session::IsUpdateCommunityCompleted ( ) const

UpdateCommunityAsync の非同期処理の完了をチェックします。

UpdateCommunityAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
UpdateCommunityAsync, GetUpdateCommunityResult
bool nn::pia::session::Session::IsUpdateJointSessionSettingCompleted ( ) const

UpdateJointSessionSettingAsync の非同期処理の完了をチェックします。

この関数はローカル通信では使用できません。

UpdateJointSessionSettingAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
UpdateJointSessionSettingAsync, GetUpdateJointSessionSettingResult
bool nn::pia::session::Session::IsUpdateSessionSettingCompleted ( ) const

UpdateSessionSettingAsync の非同期処理の完了をチェックします。

UpdateSessionSettingAsync で開始された非同期処理は、本関数で完了をチェックできます。

戻り値
非同期処理が完了していた場合は true, 処理中の場合は false が返ります。非同期処理が行われていない場合も false が返ります。
参照
UpdateSessionSettingAsync, GetUpdateSessionSettingResult
bool nn::pia::session::Session::IsValidStationId ( StationId  id) const

任意の StationId がセッション内で現在有効かどうかを確認します。

引数
[in]id確認したい StationId を指定します。
戻り値
指定された StationId が有効な場合は true、そうでなければ false が返ります。
Result nn::pia::session::Session::JoinCommunityAsync ( const JoinCommunitySetting pJoinCommunitySetting)

コミュニティへの参加を行います。


コミュニティ参加を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsJoinCommunityCompleted でチェックし、結果は GetJoinCommunityResult で確認できます。

引数
[in]pJoinCommunitySetting参加するコミュニティの条件
戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsJoinCommunityCompleted, GetJoinCommunityResult
Result nn::pia::session::Session::JoinRandomJointSessionAsync ( const JoinRandomSessionSetting pJoinRandomSessionSetting)

ランダムマッチメイクでジョイントセッションに参加します。

この関数はローカル通信では使用できません。

ホストのみ使用可能です。 ランダムマッチメイクでジョイントセッションに参加を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsJoinRandomJointSessionCompleted でチェックし、結果は GetJoinRandomJointSessionResult で確認できます。

ホストが本関数で非同期処理を開始した場合、クライアント側でもランダムマッチメイクでジョイントセッションに参加を行う内部処理が自動的に開始されます。 自動的に開始された処理の進捗は、状態変化イベント通知をハンドリングするか GetStatus で取得できる Status をチェックすることで確認できます。

非同期処理中は、送受信処理関連など一部の API は一時的に使用できません。

引数
[in]pJoinRandomSessionSettingランダムマッチメイクの設定を指定します。
戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないか、ホストかどうか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsJoinRandomJointSessionCompleted, GetJoinRandomJointSessionResult
Result nn::pia::session::Session::JoinRandomSessionAsync ( const JoinRandomSessionSetting pJoinRandomSessionSetting)

ランダムマッチメイクを行いセッションの構築/参加を行います。


この関数はローカル通信では使用できません。

ランダムマッチメイクを行った後、セッションの構築/参加を行う非同期処理を開始します。開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsJoinRandomSessionCompleted でチェックし、結果は GetJoinRandomSessionResult で確認できます。 非同期処理が成功していた場合は、GetSessionInfo でセッション情報を取得できますが、非同期処理中にセッションホストが UpdateSessionSettingAsync でセッション情報を更新した場合、 取得する情報が更新前の情報となる場合があります。

JoinRandomSessionSetting に設定する検索条件はインターネット通信時のみ複数指定でき、最大で inet::SearchCriteriaListSizeMax まで指定できます。 複数の検索条件を指定した場合は、リストに最初に指定された条件から順に検索を行い、参加できた段階で打ち切ります。 検索条件として指定できる数より多くの条件を設定すると nn::pia::ResultInvalidArgument が返ります。 参加が締め切られているセッション、既に満員のセッションは自動的に検索対象外となります。 また、過去 3 回にわたってクライアントとして参加したセッションは、サーバー側で記録され、参加対象から外れるようになっています。この参加記録は約 1 時間で無効になります。

引数
[in]pJoinRandomSessionSettingランダムマッチメイクの設定
戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。ローカル通信では対応していません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。 インターネット通信時は他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsJoinRandomSessionCompleted, GetJoinRandomSessionResult
Result nn::pia::session::Session::JoinSessionAsync ( const JoinSessionSetting pJoinSessionSetting)

セッションへの参加を行います。


セッション参加を行う非同期処理を開始します。

開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsJoinSessionCompleted でチェックし、結果は GetJoinSessionResult で確認できます。 非同期処理が成功していた場合は、GetSessionInfo でセッション情報を取得できますが、非同期処理中にセッションホストが UpdateSessionSettingAsync でセッション情報を更新した場合、 取得する情報が更新前の情報となる場合があります。

引数
pJoinSessionSetting参加するセッションの条件
戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsJoinSessionCompleted, GetJoinSessionResult
Result nn::pia::session::Session::KickoutStation ( StationId  id)

セッションから任意のステーションを追放します。(ホスト専用)

ホストのみ使用可能です。

引数で指定した StationId が割り当てられたステーションへ追放通知を伝達し、 追放通知を受けた対象のステーションではセッション離脱処理が行われます。

追放通知の通信遅延などが原因で、この関数呼出に成功した後実際にセッションから離脱するまでにある程度の時間がかかる場合があります。

引数
[in]id追放したいステーションに割り当てられている StationId を指定します。
戻り値
正常にセッションからのステーション追放処理を実行できた場合、IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidState ホスト以外が呼び出した場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidArgument 引数で指定された StationId が、ホスト自身を示す Id やセッションに参加していない Id だった場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultBufferIsFull 追放処理管理用バッファもしくは追放通知送信用バッファに空きが無かった場合に返されます。時間をあけてから再度実行すれば、成功する可能性があります。アプリケーションで適切にハンドリングしてください。

Result nn::pia::session::Session::LeaveCommunityAsync ( uint32_t  communityId)

コミュニティからの離脱を行います。


コミュニティ離脱を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsLeaveCommunityCompleted でチェックし、結果は GetLeaveCommunityResult で確認できます。

引数
[in]communityId離脱するコミュニティ ID
戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、既に通信中でないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsLeaveCommunityCompleted, GetLeaveCommunityResult
Result nn::pia::session::Session::LeaveSessionAsync ( )

セッションからの離脱を行います。


セッション離脱を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsLeaveSessionCompleted でチェックし、結果は GetLeaveSessionResult で確認できます。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsLeaveSessionCompleted, GetLeaveSessionResult
Result nn::pia::session::Session::OpenJointSessionAsync ( const UpdateSessionSetting pUpdateSessionSetting = NULL)

ジョイントセッションの参加受付を開始します。

この関数はローカル通信では使用できません。

ジョイントセッションホストのみ使用可能です。 ジョイントセッション参加受付を開始する非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsOpenJointSessionCompleted でチェックし、結果は GetOpenJointSessionResult で確認できます。
UpdateSessionSetting の派生クラスのインスタンスを引数に指定する場合、参加受付の開始と同時にジョイントセッションの設定を更新します。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、ジョイントセッション参加状態であること、ジョイントセッションホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsOpenJointSessionCompleted, GetOpenJointSessionResult, IsJointSessionHost
Result nn::pia::session::Session::OpenSessionAsync ( const UpdateSessionSetting pUpdateSessionSetting = NULL)

セッションの参加受付を開始します。


セッション参加受付を開始する非同期処理を開始します。 セッションホストであるときに実行できます。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsOpenSessionCompleted でチェックし、結果は GetOpenSessionResult で確認できます。
UpdateSessionSetting の派生クラスのインスタンスを引数に指定する場合、参加受付の開始と同時にセッションの設定を更新します。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 非同期処理開始時に渡した引数の設定内容が想定外です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、セッション参加状態であること、セッションホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
IsOpenSessionCompleted, GetOpenSessionResult, IsHost
void nn::pia::session::Session::RegisterJoiningApprovalCallback ( JoiningApprovalCallback  callback)

セッションホストで参加要求が来た際に呼び出される承認/拒否判定コールバック関数を登録します

自分がセッションホストで、クライアントから参加要求を受け取った場合に呼び出されるコールバックです。 コールバック関数は、common::Scheduler::Dispatch の内部で呼び出されます。 登録する関数内には長時間ブロックするような処理を記述してはいけません。

引数
[in]callback登録するコールバック関数へのポインタを指定します。
参照
UnregisterJoiningApprovalCallback
Result nn::pia::session::Session::RegisterSessionEventCallback ( SessionEventCallback  callback,
void *  pApplicationParam = NULL 
)

セッションの状態が変化した場合に呼び出されるコールバック関数を登録します

セッションの状態変化(ステーション参加/離脱)発生時に呼び出されるコールバック関数を登録します。 登録する関数内には長時間ブロックするような処理を記述してはいけません。

引数
[in]callback登録するコールバック関数へのポインタを指定します。
[in]pApplicationParamコールバック関数の引数として渡されるパラメータへのポインタを指定します。指定しない場合はパラメータ無し(NULL)となります。
戻り値
正常に処理できた場合、 IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 既にイベント通知コールバックを登録済みの場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
UnregisterSessionEventCallback
Result nn::pia::session::Session::RelayEmulation ( StationIndex  index1,
StationIndex  index2 
)

(デバッグ用)リレー接続有効時に、任意の StationIndex 間の接続経路エミュレーション設定を指定します。

本関数はデバッグ用です。製品には組み込まないようお願いします。

本関数を使用する場合は Session::SetDebugSetting で接続経路エミュレーション機能が有効となるように設定します。

対象の StationIndex 間の接続方法は(たとえ実際には直通接続ができる場合でも)必ずリレー接続となります。

本関数はセッションに接続していないタイミングで呼び出します。 セッション参加済みの状態で接続経路エミュレーション設定を変更することは動作保証外とします。

引数
[in]index1対象の StationIndex を指定します。
[in]index2対象の StationIndex を指定します。
戻り値
正常に設定できた場合、成功の Result が返されます。
返るエラーの一覧:

nn::pia::ResultInvalidState リレー接続が有効ではない場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidArgument 対象の StationIndex が有効な値ではない場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
SetDebugSetting, ResetRelayEmulation
Result nn::pia::session::Session::RequestJointSessionInfoAsync ( )

参加中のジョイントセッションのセッション情報の取得要求を行います。

参加中のジョイントセッションのセッション情報の取得要求を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsRequestJointSessionInfoCompleted でチェックし、結果は GetRequestJointSessionInfoResult で確認できます。 非同期処理が成功していた場合は、GetJointSessionInfo でセッション情報を取得できますが、非同期処理中にジョイントセッションホストが UpdateJointSessionSettingAsync でセッション情報を更新した場合、 取得する情報が更新前の情報となる場合があります。
インターネット通信の場合、ゲームサーバーアクセスを行います。1 分間に 10 回以上の呼び出しを行ってはいけません。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。セッションに参加していないか、他の非同期処理が行われていないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsRequestJointSessionInfoCompleted, GetRequestJointSessionInfoResult
Result nn::pia::session::Session::RequestSessionInfoAsync ( )

参加中のセッション情報の取得要求を行います。

参加中のセッション情報の取得要求を行う非同期処理を開始します。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsRequestSessionInfoCompleted でチェックし、結果は GetRequestSessionInfoResult で確認できます。 非同期処理が成功していた場合は、GetSessionInfo でセッション情報を取得できますが、非同期処理中にセッションホストが UpdateSessionSettingAsync でセッション情報を更新した場合、 取得する情報が更新前の情報となる場合があります。
インターネット通信の場合、ゲームサーバーアクセスを行います。1 分間に 10 回以上の呼び出しを行ってはいけません。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。セッションに参加していないか、他の非同期処理が行われていないか確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
参照
IsRequestSessionInfoCompleted, GetRequestSessionInfoResult
void nn::pia::session::Session::ResetRelayEmulation ( )

(デバッグ用)リレー接続有効時に、接続経路エミュレーション設定を初期化します。

本関数はデバッグ用です。製品には組み込まないようお願いします。

RelayEmulation を使用して設定された接続経路エミュレーションについて全て初期化します。 (全ての StationIndex の組み合わせに対して EmulationType_None を設定した状態と同等です)

本関数はセッションに接続していないタイミングで呼び出します。 セッション参加済みの状態で接続経路エミュレーション設定を変更することは動作保証外とします。

参照
SetDebugSetting, RelayEmulation
static Result nn::pia::session::Session::SetDebugSetting ( const DebugSetting debugSetting)
static

(デバッグ用) Session のデバッグ用機能について設定します。

本関数は Session のインスタンスが存在しない状態で呼出可能です。 CreateInstanceSession のインスタンスを作成する前に呼び出します。

DebugSetting 構造体の isRelayEmulationEnabled を true に設定した場合、デバッグ用接続経路エミュレーション機能を使用する設定となります。 接続経路エミュレーション機能を使用する設定の場合、ネットワークトポロジーを NetworkTopology_RelayMesh に設定しない限り CreateInstance が成功しません。

DebugSetting 構造体の isMatchmakeAnalysisEnabled を true に設定した場合、マッチメイク分析機能を使用する設定となります。

本関数を呼び出さなかった場合、本関数が関連するデバッグ用機能は全て無効(使用しない)設定となります。

注意
製品版 ROM では、本関数を呼び出してはいけません。
戻り値
関数の実行結果を返します。処理が成功した場合、IsSuccess() が真となる Result を返します。この関数がエラーを返さないようにアプリケーションを実装する必要があります。
処理が失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 関数が実行可能な状態ではありません。既に Session のインスタンスが作成済みの場合に返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
void nn::pia::session::Session::SetMatchmakeAnalysisToken ( const transport::Station::IdentificationToken pToken)

マッチメイク分析機能のセッション参加承認コールバックの不整合検知判定で使用する transport::Station::IdentificationToken を設定します。

引数
[in]pTokenセッション参加承認コールバックの不整合検知判定で使用するトークン
Result nn::pia::session::Session::SetMaxNumOfRelayRoutesAssignedToStation ( uint16_t  num)

リレー接続有効時に、ステーション1台に割り当てられる転送依頼数の最大制限値を設定します。

リレー接続経路探索&決定時の指標として本関数で設定された制限値を利用します。
設定変更しない場合のデフォルト値は "[セッション最大参加数] * [セッション最大参加数]" です。

同じセッションへの参加者は全員同じ値を設定することを推奨します。(異なる値を設定した場合は動作保証外とします)

リレー接続が有効なネットワークトポロジーの場合かつ Startup 前にのみ使用可能です。

引数
[in]num設定したい最大制限値を指定します。
戻り値
正常に設定できた場合、成功の Result が返されます。
返るエラーの一覧:
nn::pia::ResultInvalidState リレー接続が有効ではない、もしくは既に Startup 呼出後の場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
Result nn::pia::session::Session::SetMaxRtt ( uint16_t  rtt)

リレー接続有効時に、1つのリレー接続経路の合計 RTT の最大制限値を設定します。

リレー接続経路探索&決定時の指標として本関数で設定された制限値を利用します。
設定変更しない場合のデフォルト値は session::SessionMaxRttDefault です。

同じセッションへの参加者は全員同じ値を設定することを推奨します。(異なる値を設定した場合は動作保証外とします)

リレー接続が有効なネットワークトポロジーの場合かつ Startup 前にのみ使用可能です。

引数
[in]rtt設定したい最大制限値を指定します。単位は msec です。
戻り値
正常に設定できた場合、成功の Result が返されます。
返るエラーの一覧:
nn::pia::ResultInvalidState リレー接続が有効ではない、もしくは既に Startup 呼出後の場合に返されます。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
void nn::pia::session::Session::SetSyncClockPulseInterval ( int32_t  interval)

同期クロックの同期パルス送信間隔を指定します。

引数
[in]interval同期パルス送信の時間間隔です。単位はミリ秒です。
参照
GetTime, GetSyncClockPulseInterval
Result nn::pia::session::Session::Startup ( const StartupSetting startupSetting)

スタートアップ処理を実行します。

session::EndSetup() を呼び出して Session の初期化処理を終えた後で呼び出します。

引数に指定する StartupSetting 構造体はマッチメイク種別毎にこの構造体を継承する以下の構造体を指定します。

マッチメイク種別に依らず、共通して設定できる項目は以下になります。

  • maxSilenceTime で、許容される最大無通信時間を設定できます。ステーションとの無通信時間が設定時間を超えると、そのステーションと切断したと判断されます。デフォルト値はネットワーク種別毎に異なります。
  • keepAliveSendingInterval で、キープアライブの送信間隔を設定できます。キープアライブとは、アプリ側で送信処理を行っていない相手にシステム側で送信を行い無通信状態と判断されないようにする機能のことです。デフォルト値はネットワーク種別毎に異なります。
  • pToken で、自分自身を示す識別トークンを設定することができます。デフォルト値は NULL です。

インターネットマッチメイク時は以下の項目を設定できます。

  • mtuSize で、パケットの MTU を設定できます。inet::MtuSizeMin から inet::MtuSizeMax までの値を指定します。デフォルト値は inet::DefaultMtuSize です。
  • isHostMigrationEnabled で、ホストマイグレーション機能の設定を行います。true にすると有効になります。デフォルト値は true です。
  • isBitRateCheckSkipped で、ビットレート判定機能を利用する際に、判定に関わる処理をスキップするかどうかを設定します。スキップする場合には true を設定します。デフォルトは false です。
  • uplinkBitRateLowerLimit で、ビットレート判定機能を使用する際に、アプリケーションが要求する水準を指定します。単位は bps です。デフォルトは session::SessionInvalidUplinkBitRateLowerLimit ですので、判定機能を使用する際は必ず設定する必要があります。
  • bitRateMeasuringSpan で、ビットレート判定機能を利用する際に、計測にかける時間を設定します。単位は msec です。デフォルトは 1000 msec です。デフォルト値からの変更はお勧めしません。
  • bitRateCheckPacketSize で、ビットレート判定機能を利用する際に、判定に用いる IP パケットサイズを指定します。単位はバイトです。アプリケーションが送受信する IP パケットの平均的なサイズを指定することを想定しています。4 の倍数でなくてはなりません。デフォルトは 0 ですので、判定機能を使用する際は必ず設定する必要があります。
  • cryptoMode で、暗号化設定モードを指定します。デフォルトは common::CryptoSetting::Mode_Aes128 です。
  • isAddRecentPlayRecordEnabled で、セッション参加者を「いっしょにあそんだ人の記録」に追加するかどうかを指定します。デフォルトは true(有効)になっています。本体機能が「いっしょにあそんだ人の記録」に対応していない場合は無視されます。
  • playerInfo で、自分自身のステーションと関連付けるプレイヤー情報を設定します。MaxPlayerInfoSize まで指定可能です。
  • isPlayersCountedAsParticipants で、自分自身のステーションに複数のプレイヤーを関連付ける際、プレイヤー数をセッション参加者数としてカウントするか指定します。デフォルトは true です。

ローカルマッチメイク時は以下の項目を設定できます。

  • playerInfo で、自分自身のステーションと関連付けるプレイヤー情報を設定します。
  • signatureKeyData で、パケットに署名を付与する際の署名鍵を設定します。
  • signatureKeyDataSize で、パケットに署名を付与する際に使用する署名鍵のサイズを設定します。署名を無効にする場合は 0 を指定します。common::SignatureSetting::SignatureKeyDataSizeMax 以下である必要があります。
  • isAddRecentPlayRecordEnabled で、セッション参加者を「いっしょにあそんだ人の記録」に追加するかどうかを指定します。デフォルトは true(有効)になっています。本体機能が「いっしょにあそんだ人の記録」に対応していない場合は無視されます。

LAN マッチメイク時は以下の項目を設定できます。

  • cryptoMode で、暗号化設定モードを指定します。デフォルトは common::CryptoSetting::Mode_Aes128 です。
  • playerInfo で、自分自身のステーションと関連付けるプレイヤー情報を設定します。MaxPlayerInfoSize まで指定可能です。
  • isPlayersCountedAsParticipants で、自分自身のステーションに複数のプレイヤーを関連付ける際、プレイヤー数をセッション参加者数としてカウントするか指定します。デフォルトは true です。


maxSilenceTime, keepAliveSendingInterval, mtuSize に関して独自の値を設定する場合、実際の動作を確認しながら調整する必要があります。
識別トークンは接続処理時に接続相手と共有され、transport::Station と結び付けられて保管されます。 識別トークンを使用する必要が無い場合は、特に設定を行う必要はありません。 Startup 以外で、自分自身を示す識別トークンを指定、変更する方法はありません。セッション使用中に識別トークンを変更できません。
プレイヤーの名前の長さは20文字(NULL終端を含めない)以内である必要があります。文字コードは UTF-16LE である必要があります。 言語コードはアプリケーションで別リージョンの言語を判定する場合に指定します。本体の言語設定を使用したい場合には、nn::cfg::CTR::GetLanguage() の値を使用可能です。 設定したプレイヤー情報はセッション参加者間で共有されます。
ローカルマッチメイク時は SDK の UDS 通信層で暗号化されるため、暗号化を設定することはできません。

注意
ローカル通信時には、本関数呼び出し中はスリープモードに遷移してはいけません。
引数
[in]startupSettingスタートアップ時の各種設定項目(マッチメイク種別毎に継承している構造体を指定します)
戻り値
処理に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。ローカル通信時にのみ返ります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

参照
Cleanup
virtual void nn::pia::session::Session::Trace ( uint64_t  flag) const
virtual

デバッグに有用な情報をプリントします。

引数
[in]flagトレースフラグの論理和。詳細は TraceFlag 型を参照してください。
void nn::pia::session::Session::UnregisterJoiningApprovalCallback ( )

登録されている参加要求が来た際に呼び出される承認/拒否判定コールバック関数の登録を解除します。

参照
RegisterJoiningApprovalCallback
void nn::pia::session::Session::UnregisterSessionEventCallback ( )

登録されているセッション状態変化コールバック関数を登録解除します。

参照
RegisterSessionEventCallback
Result nn::pia::session::Session::UpdateCommunityAsync ( const UpdateCommunitySetting pUpdateCommunitySetting)

指定されたコミュニティの設定を更新します。

非同期に指定したコミュニティの設定を更新します。 コミュニティホストであるときに実行できます。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsUpdateCommunityCompleted でチェックし、結果は GetUpdateCommunityResult で確認できます。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、ホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
引数
[in]pUpdateCommunitySetting変更する設定をまとめる UpdateCommunitySetting 派生クラスのポインタ
参照
UpdateCommunitySetting, IsUpdateCommunityCompleted, GetUpdateCommunityResult
Result nn::pia::session::Session::UpdateJointSessionSettingAsync ( const UpdateSessionSetting pUpdateSessionSetting)

ジョイントセッションの設定を更新します。

この関数はローカル通信では使用できません。

非同期にジョイントセッションの設定を更新します。 ジョイントセッションホストであるときに実行できます。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsUpdateJointSessionSettingCompleted でチェックし、結果は GetUpdateJointSessionSettingResult で確認できます。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。ローカル通信では対応していません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。 インターネット通信時は他の非同期処理が行われていないこと、Startup が呼び出されていること、ジョイントセッションホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
引数
[in]pUpdateSessionSetting変更する設定をまとめる UpdateSessionSetting 派生クラスのポインタ
参照
UpdateSessionSetting, IsUpdateJointSessionSettingCompleted, GetUpdateJointSessionSettingResult, IsJointSessionHost
Result nn::pia::session::Session::UpdateSelectionPriority ( uint8_t  priority) const

同じ条件のセッションが見つかった際のマッチメイクの優先度を更新します。

この関数はローカル通信では使用できません。

セッション中に 0, inet::SessionSelectionPriorityMax 以外の値で複数回更新する場合は、 前回の呼び出しから 30 秒間待つ必要があります。 この確認には session::Session::IsUpdatableSelectionPriority を使用します。 inet::SelectionMethod_BroadenRangeWithSelectionPriority で検索を行った場合、マッチメイクの優先度がより大きいセッションが優先されるようになります。 inet::SelectionMethod_ScoreBased で検索を行った場合、設定したスコアの計算にマッチメイクの優先度が使用されます。 NMAS のマッチメイクセッションリストにある進行度の値を確認することで設定の確認が行えます。

戻り値
IsSuccess() が真となる Result を返します。失敗した場合、以下の Result を返します。
返るエラーの一覧:

nn::pia::ResultInvalidArgument 設定した引数が設定可能な最大値より大きい値です。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultInvalidState LAN マッチ機能を使用している、ホストではない、のいずれかの理由で実行できません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。

nn::pia::ResultTemporaryUnavailable 0, inet::SessionSelectionPriorityMax 以外の値で前回の呼び出しから 30 秒以内に呼び出されました。session::Session::IsUpdatableSelectionPriority で呼び出し可能になっていることを確認して呼ぶ必要があります。

nn::pia::ResultNetworkConnectionIsLost ネットワークが使用できない状態になっています。無線スイッチOffや、アクセスポイントの障害、ゲームサーバーとの接続の切断などの原因が考えられます。インターネット通信でこのエラーが発生した場合は、ネットワークエラーコードに変換し、エラー・EULA アプレットで表示してください。ですが、ローカル通信時にはエラー・EULA アプレットでエラーコード付きのエラー表示は行わないでください。クリーンアップ処理、NEX サーバーからのログアウト処理(インターネット通信時限定)、ネットワークのシャットダウン処理を順に実行してください。

引数
[in]priority設定するマッチメイクの優先度
参照
IsUpdatableSelectionPriority
Result nn::pia::session::Session::UpdateSessionSettingAsync ( const UpdateSessionSetting pUpdateSessionSetting)

指定されたセッションの設定を更新します。

非同期に指定したセッションの設定を更新します。 セッションホストであるときに実行できます。 開始した処理は common::Scheduler::Dispatch を定期的に呼び出すことで進行します。 処理の完了は IsUpdateSessionSettingCompleted でチェックし、結果は GetUpdateSessionSettingResult で確認できます。

戻り値
非同期処理の開始に成功すれば、成功の Result が返されます。失敗した場合、以下の Result を返します。
返るエラーの一覧:
nn::pia::ResultInvalidState 呼び出し時に適切な状態ではありませんでした。他の非同期処理が行われていないこと、Startup が呼び出されていること、ホストであることを確認してください。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
引数
[in]pUpdateSessionSetting変更する設定をまとめる UpdateSessionSetting 派生クラスのポインタ
参照
UpdateSessionSetting, IsUpdateSessionSettingCompleted, GetUpdateSessionSettingResult, IsHost