NdisClAddParty 함수(ndis.h)

NdisClAddParty 는 클라이언트의 멀티포인트 VC에 파티를 추가합니다.

구문

NDIS_STATUS NdisClAddParty(
  [in]      NDIS_HANDLE         NdisVcHandle,
  [in]      NDIS_HANDLE         ProtocolPartyContext,
  [in, out] PCO_CALL_PARAMETERS CallParameters,
  [out]     PNDIS_HANDLE        NdisPartyHandle
);

매개 변수

[in] NdisVcHandle

NdisCoCreateVc에서 반환된 VC 핸들에 대한 포인터입니다.

[in] ProtocolPartyContext

호출이 성공하면 클라이언트가 파티별 상태를 유지할 호출자가 할당한 상주 컨텍스트 영역에 대한 핸들을 지정합니다.

[in, out] CallParameters

호출자가 해당 멀티포인트 VC에 추가할 파티의 주소 지정 정보를 지정한 CO_CALL_PARAMETERS 형식의 구조에 대한 포인터입니다.

[out] NdisPartyHandle

추가 파티 작업이 성공하는 경우 NDIS에서 설정할 변수에 대한 포인터입니다.

반환 값

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

설명

NdisClAddParty를 호출하기 전에 클라이언트는 NdisClMakeCall을 사용하여 VC에서 멀티포인트 연결을 설정하고 파티가 추가될 컨텍스트 영역을 할당하고 초기화해야 합니다. 클라이언트는 일반적으로 ProtocolPartyContext와 같은 컨텍스트 영역에 대한 포인터를 전달하고 NdisClAddParty를 호출할 때 해당 컨텍스트 영역 내의 변수에 대한 포인터를 NdisPartyHandle 매개 변수로 전달합니다.

NdisClAddParty를 호출하면 NDIS가 이 요청을 클라이언트가 지정된 NdisVcHandle 를 공유하는 호출 관리자의 ProtocolCmAddParty 함수로 전달합니다. 호출 관리자는 즉시 오류 상태 반환하거나, 더 일반적으로 이 요청을 충족하려고 하면 NDIS_STATUS_PENDING. 원격 엔드포인트 또는 기본 미니포트 드라이버에서 시도가 거부되면 호출 관리자는 NdisCmAddPartyComplete 또는 NdisMCmAddPartyComplete를 호출할 때 NDIS_STATUS_FAILURE 같은 최종 오류 상태 반환합니다. 클라이언트의 ProtocolClAddPartyComplete 함수는 계속 진행하기 전에 NDIS_STATUS_SUCCESS 대한 입력 Status 인수를 검사 합니다.

기본 네트워크 매체는 클라이언트가 다중 포인트 VC에서 파티별 트래픽 매개 변수를 지정할 수 있는지 여부를 결정합니다.

기본 네트워크 매체가 다중 포인트 VC에서 파티별 트래픽 매개 변수를 지원하지 않는 경우 호출 관리자는 클라이언트가 해당 VC에 대해 이미 설정된 트래픽 매개 변수와 일치하지 않는 CallParameters 에서 사양을 가진 파티를 추가하려고 할 때마다 다음 중 하나를 수행할 수 있습니다.

  • 새 파티 추가 요청을 거부합니다.
  • 해당 VC에 파티가 성공적으로 추가되면 트래픽 매개 변수를 다중 포인트 VC에 대해 이미 설정된 매개 변수로 다시 설정합니다.
  • 새 파티를 성공적으로 추가할 때 VC에 이미 있는 모든 당사자에 대한 트래픽 매개 변수를 변경합니다.
추가 파티 작업이 성공하면 NdisPartyHandle 의 변수가 NDIS, 클라이언트 및 호출 관리자 간에 공유되는 유효한 핸들로 NDIS에 의해 설정됩니다. 클라이언트는 새로 추가된 파티와 관련된 NdisCl/CoXxx 함수에 대한 후속 호출에서 이 NDIS 제공 핸들을 전달되고 수정되지 않고 해석되지 않는 불투명 변수로 처리해야 합니다.

차례로 NDIS는 에 대한 호출을 포함하여 새로 추가된 파티와 관련된 클라이언트의 ProtocolClXxx 함수에 대한 후속 호출에서 클라이언트에서 제공하는 ProtocolPartyContext 핸들을 전달합니다. ProtocolClAddPartyComplete.

멀티포인트 호출에서 파티별 트래픽 매개 변수를 사용하여 양방향 및/또는 파티별 전송을 허용하는지 여부는 클라이언트가 바인딩된 기본 미니포트 드라이버의 매체에 따라 달라집니다. NdisPartyHandle은 다중 포인트 VC가 아닌 NdisClAddParty를 성공적으로 호출하여 추가된 특정 당사자만 나타냅니다. 따라서 클라이언트는 후속 파티별 호출 관리 요청에 대해서만 ProtocolPartyContext 영역을 사용할 수 있습니다. 파티별 전송 또는 트래픽 매개 변수를 지원하지 않는 네트워크 미디어를 통해 데이터 전송의 경우 클라이언트는 대신 NdisVcHandle 을 사용해야 합니다.

요구 사항

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

추가 정보

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmAddPartyComplete

NdisCoCreateVc

NdisCoOidRequest

NdisCoOidRequestComplete

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty