Syntaxe
Paramètres
handle PFMultiplayerHandle
Handle de l’instance de l’API PFMultiplayer.
stateChangeCount uint32_t*sortie Nombre en sortie d’entrées PFLobbyStateChange que le titre doit traiter dans le tableau
stateChanges.
stateChanges PFLobbyStateChange* const**tableau de sortie alloué par la bibliothèque, de taille
*stateChangeCount
Tableau de sortie alloué par la bibliothèque contenant toutes les entrées PFLobbyStateChange que le titre doit traiter, puis transmettre à PFMultiplayerFinishProcessingLobbyStateChanges().
Valeur renvoyée
Type : HRESULTS_OK si l’appel a réussi, ou un code d’erreur dans le cas contraire. La forme lisible du code d’erreur peut être récupérée via PFMultiplayerGetErrorMessage().
Remarques
Cette méthode donne à la bibliothèque Lobby l’occasion de synchroniser son état avec les appareils ou services distants, et récupère la liste de tous les changements actuellement disponibles pour le titre depuis le dernier appel à cette méthode. Le titre doit utiliser le tableau fourni, contenant zéro ou plusieurs changements, pour mettre à jour son propre état ou son interface utilisateur, puis appeler rapidement PFMultiplayerFinishProcessingLobbyStateChanges() avec ces changements.L’état de la bibliothèque Lobby exposé par la bibliothèque peut changer pendant cet appel ; vous devez donc l’utiliser de manière thread-safe. Par exemple, appeler PFMultiplayerStartProcessingLobbyStateChanges() sur votre thread d’interface utilisateur pendant qu’un thread de travail distinct parcourt la liste des membres du lobby renvoyée par PFLobbyGetMembers() peut provoquer des plantages, car PFMultiplayerStartProcessingLobbyStateChanges() peut modifier la mémoire associée à la liste des membres. PFMultiplayerStartProcessingLobbyStateChanges() doit être appelé fréquemment, au moins une fois par image. Il est conçu pour s’exécuter et retourner rapidement, de sorte qu’il puisse être appelé sur votre thread d’interface utilisateur principal avec un impact négligeable. Pour de meilleurs résultats, réduisez également au minimum le temps consacré au traitement des changements d’état avant d’appeler PFMultiplayerFinishProcessingLobbyStateChanges().
Chaque changement d’état renvoyé par PFMultiplayerStartProcessingLobbyStateChanges() doit être renvoyé à PFMultiplayerFinishProcessingLobbyStateChanges() exactement une fois, mais peut l’être dans le désordre et entrelacé avec des changements d’état issus d’autres appels à PFMultiplayerStartProcessingLobbyStateChanges(). Toutes les ressources associées à un changement d’état spécifique restent assurément valides jusqu’à ce que ce changement d’état soit renvoyé à PFMultiplayerFinishProcessingLobbyStateChanges().
Configuration requise
En-tête : PFLobby.hVoir aussi
Membres de PFLobbyPFLobbyStateChange
PFMultiplayerFinishProcessingLobbyStateChanges
