PartyNetwork::DestroyEndpoint
로컬 엔드포인트를 삭제하기 위한 비동기 작업을 큐에 넣습니다.
구문
PartyError DestroyEndpoint(
PartyLocalEndpoint* localEndpoint,
void* asyncIdentifier
)
매개 변수
localEndpoint
PartyLocalEndpoint*
삭제를 시작할 로컬 엔드포인트입니다.
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