PartyManager::SerializeNetworkDescriptor

ネットワーク記述子構造をあいまいな文字列にシリアル化し、タイトルやプラットフォーム固有の通信チャネルで安全に通信できるようにします。

構文

PartyError SerializeNetworkDescriptor(  
    const PartyNetworkDescriptor* networkDescriptor,  
    char* serializedNetworkDescriptorString  
)  

パラメーター

networkDescriptorPartyNetworkDescriptor*

シリアル化するネットワーク記述子。

serializedNetworkDescriptorString char*
サイズ c_maxSerializedNetworkDescriptorStringLength+1 の出力文字列バッファー

シリアル化されたネットワーク記述子の文字列が書き込まれる出力バッファー。 シリアル化されたネットワーク記述子の文字列に、ASCII 以外の文字や制御文字、JSON または XML エスケープを必要とする文字が含まれていてはいけません。

戻り値

PartyError

c_partyErrorSuccess記述子がシリアル化可能であり、シリアル化に成功した場合は、エラー コードを返します。

解説

ネットワーク記述子には、記述子に関連付けられているネットワークにデバイスが接続するために必要なすべての情報が含まれています。 serializedNetworkDescriptorString は、networkDescriptor で指定された記述子をシリアル化したもので、タイトルやプラットフォーム固有の通信チャネルで安全に通信できるようにします。 文字列の長さは c_maxSerializedNetworkDescriptorStringLength 文字までで、NULL 終端文字は含みません。また、ASCII 以外の文字や制御文字、JSON または XML エスケープを必要とする文字が含まれていてはいけません。

このメソッドは、ネットワーク記述子がシリアル化できない場合は失敗します。 たとえば、CreateNewNetwork() の呼び出しによって同期的に提供される記述子は、リモート クライアントが新しいネットワークに接続するのに十分な情報が含まれていないため、シリアル化できません。 ネットワーク記述子は、PartyCreateNewNetworkCompletedStateChange が指定された場合に変更されてシリアル化可能になり、成功を示します。 更新されたネットワーク記述子は、PartyCreateNewNetworkCompletedStateChange のフィールドとして指定されます。 ネットワークに接続すると、PartyNetwork::GetNetworkDescriptor() を使用して記述子を取得できます。

PartyNetworkDescriptors は、PartyInvitations と並行して機能し、リモート ユーザーのネットワークへの参加を促進します。 最初に、PartyNetwork::GetNetworkDescriptor() を介してネットワーク記述子を取得し、SerializeNetworkDescriptor() を介してシリアル化します。 次に、PartyNetwork::CreateInvitation() を介して招待を作成するか、PartyNetwork::GetInvitations() を介して既存の招待をクエリし、PartyInvitation::GetInvitationConfiguration() を介して招待の識別子をその構成から取得します。 最後に、プラットフォーム固有の招待メカニズムのペイロードに、シリアル化されたネットワーク記述子と招待識別子の両方を含めます。 リモートユーザーは、招待を受け取ると、DeserializeNetworkDescriptor() を介してプラットフォーム招待のペイロードでネットワーク記述子のシリアル化を解除し、シリアル化を解除した記述子を ConnectToNetwork() に渡します。 接続後、リモート ユーザーは、プラットフォーム招待のペイロードで招待識別子を含む PartyNetwork::AuthenticateLocalUser() を介して、ネットワーク認証を行い参加します。

このメソッドは、Initialize() メソッドの前に呼び出すことができます。

要件

ヘッダー: Party.h

関連項目

PartyManager
PartyManager::DeserializeNetworkDescriptor
PartyNetwork::GetNetworkDescriptor
PartyManager::ConnectToNetwork
PartyInvitation
PartyNetwork::CreateInvitation
PartyNetwork::GetInvitations
PartyInvitation::GetInvitationConfiguration
PartyNetwork::AuthenticateLocalUser