NdisClDropParty 함수(ndis.h)

NdisClDropParty 는 클라이언트의 멀티포인트 VC에서 파티를 삭제합니다.

구문

NDIS_STATUS NdisClDropParty(
  [in]           NDIS_HANDLE NdisPartyHandle,
  [in, optional] PVOID       Buffer,
  [in, optional] UINT        Size
);

매개 변수

[in] NdisPartyHandle

멀티포인트 연결에서 삭제할 파티를 식별하는 핸들을 지정합니다. 클라이언트는 NdisClAddParty 또는 NdisClMakeCall에 대한 이전 호출에서 이 핸들을 얻었습니다.

[in, optional] Buffer

원격 노드에서 파티의 멀티포인트 연결을 닫기 위해 전송할 데이터를 포함하는 호출자가 할당한 버퍼에 대한 포인터입니다. 기본 매체에 따라 이 포인터는 NULL일 수 있습니다.

[in, optional] Size

버퍼가 NULL인 경우 버퍼의 크기(바이트) 0으로 지정합니다.

반환 값

NdisClDropParty가 NDIS_STATUS_PENDING 이외의 항목을 반환하는 경우 클라이언트는 내부 호출을 수행해야 합니다. ProtocolClDropPartyComplete 함수입니다. 그렇지 않으면 NDIS는 이 작업이 완료되면 클라이언트의 ProtocolClDropPartyComplete 함수를 호출합니다.

설명

클라이언트는 일반적으로 다음 상황 중 하나에서 NdisClDropParty 를 호출합니다.

  • 에서 ProtocolClIncomingDropParty 함수는 멀티포인트 연결에서 지정된 파티를 제거합니다.

    원격 노드의 파티가 NdisCloseCall과의 연결을 닫을 때 발생합니다. NDIS는 로컬 클라이언트의 ProtocolClDropPartyComplete 함수를 호출할 때 클라이언트가 이 당사자에 대한 상태를 유지하고 있던 ProtocolPartyContext 에서 컨텍스트 영역을 해제하거나 다시 사용할 수 있습니다.

  • 클라이언트가 원래 NdisClMakeCall 을 사용하여 설정한 멀티포인트 연결에서 마지막 파티와 함께 NdisCloseCall을 호출하기 전에.

    자체 멀티포인트 호출의 클라이언트 시작 닫기의 경우 클라이언트는 NdisClDropParty 를 한 번 이상 호출하여 멀티포인트 VC에서 나머지 모든 파티를 삭제해야 합니다.

클라이언트가 NdisClDropParty를 호출하면 NDIS가 동일한 NdisVcHandle을 멀티포인트 VC에 공유하는 호출 관리자의 ProtocolCmDropParty 함수를 호출합니다. 호출 관리자는 어떤 클라이언트가 드롭 파티 작업을 시작했는지에 따라 파티 연결이 닫혔거나 닫혀야 했음을 원격 노드 피어에 알릴 책임이 있습니다.

일반적인 지침으로 클라이언트는 NdisClCloseCall과의 멀티포인트 연결을 닫기 전에 NdisClMakeCall에서 가져온 특정 NdisVcHandle을 사용하여 NdisClAddParty라고 하는 만큼 NdisClDropParty를 여러 번 호출해야 합니다. 원격 당사자는 연결 닫기를 시작할 수 있으므로 로컬 클라이언트에 대한 호출이 발생합니다. ProtocolClIncomingDropParty 함수인 로컬 클라이언트는 NdisCloseCloseCall을 호출하기 전에 NdisClDropParty에 대해 수행해야 하는 호출 수를 알기 위해 멀티포인트 VC의 활성 당사자 수를 추적해야 합니다.

그러나 클라이언트가 원래 멀티포인트 연결을 설정할 때 NdisClMakeCall 에서 반환한 것과 동일한 NdisPartyHandleNdisCloseCall 에 전달할 필요는 없습니다. 클라이언트는 NdisClDropParty에 대한 호출에서 NdisClAddParty 또는 NdisClMakeCall이 반환한 모든 NdisPartyHandle을 해제한 다음, 동일한 멀티포인트 VC에 대한 NdisCloseCall에 대한 마지막 파티 핸들을 사용하여 최종 호출을 하는 한 모든 순서로 멀티포인트 VC에서 파티를 해제할 수 있습니다. 클라이언트가 멀티포인트 호출을 닫은 후 NdisCoDeleteVc를 사용하여 원래 만든 VC를 해제할 수 있습니다.

NdisClDropParty의 호출자는 이 호출을 하는 즉시 입력 NdisPartyHandle이 잘못된 것으로 간주해야 합니다. 할당된 파티 컨텍스트 영역에 이 핸들을 저장한 경우 클라이언트의Party가 삭제되었을 때 다시 사용할 파티별 컨텍스트 영역을 다시 초기화하는 경우 ProtocolClDropPartyComplete 함수는 핸들 변수를 NULL로 다시 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버(NdisClDropParty(NDIS 5.1 참조))에 대해 지원됩니다. Windows XP에서 NDIS 5.1 드라이버(NdisClDropParty(NDIS 5.1 참조))에 대해 지원됩니다.
대상 플랫폼 데스크톱
머리글 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 Irql_Protocol_Driver_Function(ndis)

추가 정보

NdisClAddParty

NdisClCloseCall

NdisClMakeCall

NdisCoDeleteVc

ProtocolClDropPartyComplete

ProtocolClIncomingDropParty

ProtocolCmDropParty