Freigeben über


PFMultiplayerStartProcessingLobbyStateChanges

Ruft ein Array aller PFLobbyStateChanges ab, die seit dem letzten Aufruf dieser Art verarbeitet werden sollen.

Syntax

HRESULT PFMultiplayerStartProcessingLobbyStateChanges(  
    PFMultiplayerHandle handle,  
    uint32_t* stateChangeCount,  
    const PFLobbyStateChange* const** stateChanges  
)  

Parameter

handle PFMultiplayerHandle

Das Handle der PFMultiplayer-API instance.

stateChangeCount uint32_t*
Ausgabe

Die Ausgabenummer der PFLobbyStateChange-Einträge für den Titel, der stateChanges im Array behandelt werden soll.

stateChanges PFLobbyStateChange* const**
Von der Bibliothek zugewiesenes Ausgabearray der Größe *stateChangeCount

Ein von der Bibliothek zugeordnetes Ausgabearray aller PFLobbyStateChange-Einträge, die der Titel behandeln und dann an PFMultiplayerFinishProcessingLobbyStateChanges()übergeben wird.

Rückgabewert

Typ: HRESULT

S_OK , wenn der Aufruf erfolgreich war oder andernfalls ein Fehlercode vorliegt. Die lesbare Form des Fehlercodes kann über PFMultiplayerGetErrorMessage() abgerufen werden.

Hinweise

Diese Methode bietet der Lobbybibliothek 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 angegebene Array von 0 oder mehr Änderungen verwenden, um seinen eigenen Zustand oder seine Benutzeroberfläche zu aktualisieren, und dann PFMultiplayerFinishProcessingLobbyStateChanges() mit ihnen rechtzeitig aufrufen.

Der Zustand der Lobbybibliothek, der von der Bibliothek verfügbar gemacht wird, kann sich während dieses Aufrufs ändern, sodass Sie bei der Verwendung threadsicher sein müssen. Das Aufrufen von PFMultiplayerStartProcessingLobbyStateChanges() in Ihrem UI-Thread zur gleichen Zeit, zu der ein separater Arbeitsthread die Liste der von PFLobbyGetMembers() zurückgegebenen Lobbymitglieder durchläuft, kann zu Abstürze führen, da PFMultiplayerStartProcessingLobbyStateChanges() den der Memberliste zugeordneten Arbeitsspeicher ändern kann. PFMultiplayerStartProcessingLobbyStateChanges() 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 PFMultiplayerFinishProcessingLobbyStateChanges() aufrufen.

Jede von PFMultiplayerStartProcessingLobbyStateChanges() zurückgegebene Zustandsänderung muss genau einmal an PFMultiplayerFinishProcessingLobbyStateChanges() zurückgegeben werden, kann jedoch in der richtigen Reihenfolge zurückgegeben werden und kann mit Zustandsänderungen von anderen Aufrufen von PFMultiplayerStartProcessingLobbyStateChanges() überlappen. Alle Ressourcen, die einer bestimmten Zustandsänderung zugeordnet sind, bleiben garantiert gültig, bis die Zustandsänderung an PFMultiplayerFinishProcessingLobbyStateChanges() zurückgegeben wird.

Voraussetzungen

Header: PFLobby.h

Weitere Informationen

PFLobby-Member
PFLobbyStateChange
PFMultiplayerFinishProcessingLobbyStateChanges