Skip to main content
마지막 호출 이후 처리해야 할 모든 PFLobbyStateChanges 배열을 검색합니다.

구문

매개 변수

handle   PFMultiplayerHandle PFMultiplayer API 인스턴스의 핸들입니다. stateChangeCount   uint32_t*
출력
stateChanges 배열에서 타이틀이 처리할 PFLobbyStateChange 항목의 출력 개수입니다. stateChanges   PFLobbyStateChange* const**
크기 *stateChangeCount의 라이브러리 할당 출력 배열
타이틀이 처리한 후 PFMultiplayerFinishProcessingLobbyStateChanges()에 전달할 모든 PFLobbyStateChange 항목의 라이브러리 할당 출력 배열입니다.

반환 값

형식: HRESULT 호출이 성공한 경우 S_OK이고, 그렇지 않으면 오류 코드입니다. 오류 코드의 사람이 읽을 수 있는 형태는 PFMultiplayerGetErrorMessage()를 통해 검색할 수 있습니다.

설명

이 메서드는 Lobby 라이브러리에 원격 장치 또는 서비스와 상태를 동기화할 기회를 제공하고, 이 메서드에 대한 마지막 호출 이후 현재 타이틀에서 사용 가능한 모든 변경 사항 목록을 검색합니다. 타이틀은 제공된 0개 이상의 변경 사항 배열을 사용하여 자신의 상태나 UI를 업데이트한 다음, 적시에 PFMultiplayerFinishProcessingLobbyStateChanges()를 호출해야 합니다.

라이브러리가 노출하는 Lobby 라이브러리 상태는 이 호출 중에 변경될 수 있으므로 이를 사용할 때 스레드로부터 안전해야 합니다. 예를 들어, 별도의 작업자 스레드가 PFLobbyGetMembers()에서 반환된 로비 멤버 목록을 반복하는 동시에 UI 스레드에서 PFMultiplayerStartProcessingLobbyStateChanges()를 호출하면 PFMultiplayerStartProcessingLobbyStateChanges()가 멤버 목록과 관련된 메모리를 변경할 수 있으므로 크래시가 발생할 수 있습니다. PFMultiplayerStartProcessingLobbyStateChanges()는 자주 호출해야 합니다. 그래픽 프레임당 최소 한 번은 호출해야 합니다. 무시할 수 있는 영향으로 기본 UI 스레드에서 호출할 수 있도록 빠르게 실행하고 반환하도록 설계되었습니다. 최상의 결과를 얻으려면 PFMultiplayerFinishProcessingLobbyStateChanges()를 호출하기 전에 상태 변경을 처리하는 데 소요되는 시간을 최소화해야 합니다.

PFMultiplayerStartProcessingLobbyStateChanges()에서 반환된 각 상태 변경은 PFMultiplayerFinishProcessingLobbyStateChanges()로 정확히 한 번 반환되어야 하지만, 순서가 어긋나게 반환될 수 있으며 다른 PFMultiplayerStartProcessingLobbyStateChanges() 호출에서 반환된 상태 변경과 섞여 있을 수 있습니다. 특정 상태 변경과 관련된 리소스는 해당 상태 변경이 PFMultiplayerFinishProcessingLobbyStateChanges()에 반환될 때까지 유효하게 유지됩니다.

요구 사항

헤더: PFLobby.h

참고 항목

PFLobby 멤버
PFLobbyStateChange
PFMultiplayerFinishProcessingLobbyStateChanges
마지막 수정일 2026년 8월 13일