다음을 통해 공유


PartyNetwork::RemoveLocalUser

비동기 작업을 큐에 넣어 네트워크에서 로컬 사용자를 제거합니다.

구문

PartyError RemoveLocalUser(  
    const PartyLocalUser* localUser,  
    void* asyncIdentifier  
)  

매개 변수

localUserPartyLocalUser*

네트워크에서 제거할 로컬 사용자입니다.

asyncIdentifier void*
선택 사항

완료 상태 변경을 이 호출과 연결하는 데 사용할 수 있는 선택적 앱 정의 포인터 크기의 컨텍스트 값입니다.

반환 값

PartyError

c_partyErrorSuccess로컬 사용자를 제거하는 비동기 작업이 시작되었거나 그렇지 않으면 오류 코드입니다. 이 메서드가 실패하면 관련 상태 변경 내용이 생성되지 않습니다. 사용자가 읽을 수 있는 형식의 오류 코드는 PartyManager::GetErrorMessage()를 통해 검색할 수 있습니다.

비고

비동기 작업이 완료되면 사용자는 더 이상 네트워크에 인증된 것으로 간주되지 않습니다. 완료는 PartyRemoveLocalUserCompletedStateChange로 표시됩니다. 비동기 작업은 항상 성공하며 PartyRemoveLocalUserCompletedStateChange 전에 PartyLocalUserRemovedStateChange가 항상 제공됩니다. 작업이 성공적으로 완료되기 전에 해당 사용자와 연결된 모든 엔드포인트가 제거되고(각각 PartyEndpointDestroyedStateChange로 표시됨) 해당 사용자와 연결된 모든 채팅 컨트롤이 네트워크에서 연결이 끊어집니다(각각 PartyChatControlLeftNetworkStateChange로 표시됨).

모든 로컬 사용자가 네트워크에서 제거되면 디바이스는 더 이상 인증된 것으로 간주되지 않습니다. 모든 엔드포인트는 제거되고 모든 원격 장치는 더 이상 로컬 장치에 표시되지 않으므로 네트워크를 벗어난 것처럼 보입니다. 마찬가지로, 모든 원격 장치는 로컬 장치가 네트워크를 벗어난 것으로 인식합니다. 장치의 연결이 즉시 끊어지지 않으며 AuthenticateLocalUser()에 대한 새 호출로 다시 인증할 수 있습니다. 그러나 인증된 사용자가 없는 네트워크에 연결하는 것은 전환 기간 외에는 유용한 상태가 아니므로 파티 라이브러리는 1분 이상 인증되지 않은 장치의 연결을 자동으로 끊습니다.

이 메서드에 대한 이전 호출로 인해 지정한 localUser이(가) 네트워크에서 제거되는 중이면 이 메서드가 실패합니다.

요구 사항

헤더: Party.h

참고 항목

PartyNetwork
PartyRemoveLocalUserCompletedStateChange
PartyEndpointDestroyedStateChange
PartyChatControlLeftNetworkStateChange
PartyNetwork::AuthenticateLocalUser
PartyNetwork::GetLocalUsers