PartyManager::StartProcessingStateChanges
Ruft ein Array aller PartyStateChanges ab, die seit dem letzten Aufruf dieser Art verarbeitet werden sollen.
Syntax
PartyError StartProcessingStateChanges(
uint32_t* stateChangeCount,
PartyStateChangeArray* stateChanges
)
Parameter
stateChangeCount
uint32_t*
Ausgabe
Die Ausgabenummer der PartyStateChange-Einträge für den Titel, der stateChanges
im Array behandelt werden soll.
stateChanges
PartyStateChangeArray*
Von der Bibliothek zugewiesenes Ausgabearray der Größe *stateChangeCount
Ein von der Bibliothek zugeordnetes Ausgabearray aller PartyStateChange-Einträge, die der Titel behandeln und dann an FinishProcessingStateChanges() übergeben wird.
Rückgabewert
PartyError
c_partyErrorSuccess
, wenn der Aufruf erfolgreich war oder andernfalls ein Fehlercode vorliegt. Die lesbare Form des Fehlercodes kann über GetErrorMessage() abgerufen werden.
Hinweise
Diese Methode bietet der Parteibibliothek die Möglichkeit, den Zustand mit Remotegeräten oder -diensten zu synchronisieren, und ruft eine Liste aller Änderungen ab, die derzeit für den Titel seit dem letzten Aufruf dieser Methode verfügbar sind. Der Titel sollte das bereitgestellte Array von 0 oder mehr Änderungen verwenden, um seinen eigenen Zustand oder seine Benutzeroberfläche zu aktualisieren, und dann FinishProcessingStateChanges() mit ihnen rechtzeitig aufrufen.
Der Zustand der Parteibibliothek, der von der Bibliothek verfügbar gemacht wird, kann sich während dieses Aufrufs ändern, sodass Sie bei der Verwendung threadsicher sein müssen. Beispielsweise kann das Aufrufen von StartProcessingStateChanges() in Ihrem UI-Thread zur gleichen Zeit, zu der ein separater Arbeitsthread die Liste der Endpunkte durchläuft, die von PartyNetwork::GetEndpoints() zurückgegeben werden, zu Abstürzen führen, da StartProcessingStateChanges() den der Endpunktliste zugeordneten Arbeitsspeicher ändern kann. StartProcessingStateChanges() sollte häufig aufgerufen werden – mindestens einmal pro Grafikframe. Es ist so konzipiert, dass er schnell ausgeführt und zurückgegeben wird, sodass er in Ihrem Standard UI-Thread mit vernachlässigbaren Auswirkungen aufgerufen werden kann. Um optimale Ergebnisse zu erzielen, sollten Sie auch die Zeit für die Verarbeitung von Zustandsänderungen minimieren, bevor Sie FinishProcessingStateChanges() aufrufen.
Jede von StartProcessingStateChanges() zurückgegebene Zustandsänderung muss genau einmal an FinishProcessingStateChanges() zurückgegeben werden, kann jedoch in der richtigen Reihenfolge zurückgegeben werden und kann mit Zustandsänderungen von anderen Aufrufen von StartProcessingStateChanges() überlappen. Alle Ressourcen, die einer bestimmten Zustandsänderung zugeordnet sind, bleiben garantiert gültig, bis die Zustandsänderung an FinishProcessingStateChanges() zurückgegeben wird.
Voraussetzungen
Header: Party.h
Weitere Informationen
PartyManager
PartyStateChange
PartyManager::FinishProcessingStateChanges