構文
パラメーター
stateChangeCount uint32_t*出力 タイトルが
stateChanges 配列で処理する PartyStateChange エントリの出力数。
stateChanges PartyStateChangeArray*ライブラリによって割り当てられる、サイズ
*stateChangeCount の出力配列
タイトルが処理し、FinishProcessingStateChanges() に渡すすべての PartyStateChange エントリの、ライブラリによって割り当てられる出力配列。
戻り値
PartyError 呼び出しが成功した場合はc_partyErrorSuccess、それ以外の場合はエラー コード。エラー コードの人間が判読可能な形式は、GetErrorMessage() から取得できます。
解説
このメソッドは、Party ライブラリにリモート デバイスまたはサービスと状態を同期する機会を与え、このメソッドへの前回の呼び出し以降にタイトルで現在利用可能なすべての変更のリストを取得します。タイトルは提供された 0 個以上の変更の配列を使用して独自の状態または UI を更新し、その後、それらをタイムリーに FinishProcessingStateChanges() に渡す必要があります。ライブラリによって公開される Party ライブラリの状態はこの呼び出し中に変化する可能性があるため、その使用時にはスレッド セーフである必要があります。たとえば、UI スレッド上で StartProcessingStateChanges() を呼び出しているのと同時に別のワーカー スレッドが PartyNetwork::GetEndpoints() によって返されるエンドポイントのリストをループしている場合、StartProcessingStateChanges() がエンドポイント リストに関連付けられているメモリを変更する可能性があるので、クラッシュが発生する可能性があります。StartProcessingStateChanges() は頻繁に、少なくともグラフィックス フレームごとに 1 回呼び出す必要があります。無視できる影響でメイン UI スレッド上で呼び出すことができるように、迅速に実行して戻るように設計されています。最良の結果を得るために、FinishProcessingStateChanges() を呼び出す前に状態変化の処理に費やす時間も最小限に抑える必要があります。
StartProcessingStateChanges() によって返される各状態変化は、FinishProcessingStateChanges() にちょうど 1 回返される必要がありますが、順序が違って返されてもよく、StartProcessingStateChanges() への他の呼び出しからの状態変化とインターリーブされてもかまいません。特定の状態変化に関連付けられているリソースは、その状態変化が FinishProcessingStateChanges() に返されるまで有効であることが保証されます。
要件
ヘッダー: Party.h関連項目
PartyManagerPartyStateChange
PartyManager::FinishProcessingStateChanges
