다음을 통해 공유


PartyNetwork::DestroyEndpoint

로컬 엔드포인트를 삭제하기 위한 비동기 작업을 큐에 넣습니다.

구문

PartyError DestroyEndpoint(  
    PartyLocalEndpoint* localEndpoint,  
    void* asyncIdentifier  
)  

매개 변수

localEndpointPartyLocalEndpoint*

삭제를 시작할 로컬 엔드포인트입니다.

asyncIdentifier void*
선택 사항

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

반환 값

PartyError

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

비고

이 메서드는 이 네트워크에서 로컬 디바이스와 연결된 엔드포인트를 삭제하기 위한 비동기 작업을 큐에 넣습니다. 작업이 완료되면 성공 또는 실패를 나타내는 PartyDestroyEndpointCompletedStateChange가 제공됩니다. 성공하면 엔드포인트가 더 이상 네트워크에 연결되지 않거나 디바이스에 표시되지 않습니다. 엔드포인트를 참조하는 모든 상태 변경이 PartyManager::FinishProcessingStateChanges()에 반환될 때까지 엔드포인트의 메모리는 유효한 상태로 유지됩니다.

이 호출이 성공을 반환하면 비동기 엔드포인트 삭제가 시작되고 이 로컬 엔드포인트에서 파티 네트워크로 데이터를 보내려는 메서드(예: PartyLocalEndpoint::SendMessage()PartyLocalEndpoint::FlushMessages())가 실패합니다. PartyEndpoint::GetCustomContext(), PartyEndpoint::GetEntityId()와 같은 캐시된 상태를 검색하는 메서드는 계속 성공합니다.

로컬 디바이스에서 엔드포인트 삭제를 시작하면 PartyEndpointDestroyedStateChange를 통해 모든 원격 디바이스에 알립니다. PartyEndpointDestroyedStateChange를 PartyManager::FinishProcessingStateChanges()에 반환하기 전에 원격 디바이스에서 삭제되는 엔드포인트에 원하는 최종 메시지를 보낼 수 있습니다. PartyEndpointDestroyedStateChange를 반환하여 원격 디바이스에서 엔드포인트 삭제를 인정하면 더 이상 PartyLocalEndpoint::SendMessage() 호출에서 엔드포인트를 대상으로 지정할 수 없습니다. 엔드포인트에서는 모든 원격 디바이스에서 삭제를 인정할 때까지 로컬 디바이스에서 삭제를 완료할 수 없으므로 최대한 빨리 이 상태 변경을 반환하는 것이 좋습니다. 원격 디바이스에서 2초 이내에 PartyEndpointDestroyedStateChange를 반환하지 않으면 원격 디바이스에서 엔드포인트 삭제가 자동으로 인정되고 더 이상 PartyLocalEndpoint::SendMessage() 호출에서 엔드포인트를 대상으로 지정할 수 없습니다. 모든 원격 디바이스가 로컬 디바이스에서 생성된 PartyEndpointDestroyedStateChange로 표시되는 엔드포인트 삭제를 인정할 때까지 삭제되는 엔드포인트에서 PartyEndpointMessageReceivedStateChange를 수신할 수 있습니다.

요구 사항

헤더: Party.h

참고 항목

PartyNetwork
PartyDestroyEndpointCompletedStateChange
PartyEndpointDestroyedStateChange
PartyEndpointMessageReceivedStateChange
PartyLocalEndpoint::SendMessage
PartyEndpoint::GetCustomContext
PartyEndpoint::GetEntityId