다음을 통해 공유


멀티포인트 통화에서 파티 삭제

멀티포인트 호출의 루트 역할을 하는 연결 지향 클라이언트는 결국 NdisClDropParty 또는 NdisCloseCall을 사용하여 해당 호출에서 각 당사자를 삭제해야 합니다.

클라이언트는 다음과 같은 상황에서 통화에서 파티를 삭제합니다.

  • NdisCloseCall을 사용하여 멀티포인트 호출의 해제를 시작하기 전에(클라이언트에서 시작한 통화 닫기 요청 참조) 클라이언트는 NdisClDropParty에 대한 연속 호출이 있는 마지막 파티를 제외한 모든 파티를 삭제해야 합니다. 클라이언트는 NdisCloseCall을 사용하여 호출에서 삭제할 마지막 당사자를 지정합니다.

  • 다중 포인트 호출에서 삭제하라는 원격 파티의 요청에 대한 응답으로( Multipoint 통화에서 파티 삭제 요청 참조) ProtocolClIncomingDropParty 함수의 클라이언트는 NdisClDropParty를 호출합니다.

클라이언트가 NdisClDropParty를 호출하면 NDIS가 동일한 NdisVcHandle을 멀티포인트 VC에 공유하는 호출 관리자 또는 MCM 드라이버의 ProtocolCmDropParty 함수를 호출합니다.

다음 그림에서는 멀티포인트 호출에서 파티 삭제를 요청하는 통화 관리자의 클라이언트를 보여 있습니다.

멀티포인트 호출에서 파티 삭제를 요청하는 통화 관리자의 클라이언트를 보여 주는 다이어그램

다음 그림은 멀티포인트 호출에서 파티 삭제를 요청하는 MCM 드라이버의 클라이언트를 보여 줍니다.

멀티포인트 호출에서 파티 삭제를 요청하는 MCM 드라이버의 클라이언트를 보여 주는 다이어그램

ProtocolCmDropParty 는 네트워크 제어 디바이스와 통신하여 기존 멀티포인트 호출에서 파티를 삭제합니다. NDIS는 데이터를 포함하는 버퍼에 대한 포인터를 ProtocolCmDropParty 에 전달할 수 있습니다( NdisClDropParty 호출에서 클라이언트에 제공됨). ProtocolCmDropParty 는 연결이 끊어지기 전에 네트워크를 통해 이러한 데이터를 보내야 합니다.

PROTOCOLCmDropParty 는 MCM 드라이버의 경우 호출 관리자 또는 NdisMCmDropPartyComplete의 경우 NdisCmDropPartyComplete를 사용하여 동기적으로 또는 비동 적으로 완료할 수 있습니다.

Ndis(M)CmDropPartyComplete를 호출하면 NDIS가 클라이언트의 ProtocolClDropPartyComplete 함수를 호출합니다. 클라이언트가 만든 다중 포인트 VC를 해체하는 과정에 있는 경우 ProtocolClDropPartyComplete는 유효한 NdisPartyHandle을 사용하여 NdisClDropParty를 클라이언트의 활성 멀티포인트 VC의 나머지 당사자 중 하나에 호출할 수 있습니다. 한 당사자만 해당 멀티포인트 VC에 남아 있는 경우 클라이언트는 NdisPartyHandleNdisCloseCall에 전달하여 해당 파티를 삭제해야 합니다( 클라이언트에서 시작한 통화 닫기 요청 참조).