NdisClMakeCall 함수(ndis.h)

NdisClMakeCall은 클라이언트에서 만든 VC에서 나가는 호출을 설정합니다.

구문

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

매개 변수

[in] NdisVcHandle

NdisCoCreateVc에 대한 이전 호출에서 반환된 핸들을 지정합니다.

[in, out] CallParameters

호출 관리자가 지원하는 네트워크 매체 및 주소 패밀리가 QoS 사양을 허용하는 경우 호출자가 이 연결에 대한 특성(예: 호출 대상의 주소, 대기 시간, 대역폭 및 서비스 품질)을 지정한 CO_CALL_PARAMETERS 형식 구조에 대한 포인터입니다.

[in, optional] ProtocolPartyContext

필요에 따라 클라이언트가 다중 포인트 VC에서 초기 파티의 파티별 상태를 유지하는 상주 컨텍스트 영역에 대한 호출자 제공 핸들을 지정합니다. 지정된 VC가 멀티포인트 연결을 나타내지 않는 경우 이 매개 변수는 NULL 입니다. 다중 포인트 VC의 경우 NDIS는 이 특정 당사자에 영향을 주는 모든 후속 호출에서 클라이언트의 ProtocolClXxx 함수에 이 핸들을 다시 전달합니다.

[out, optional] NdisPartyHandle

일반적으로 발신자가 할당한 파티 컨텍스트 영역에서 호출자가 제공한 변수에 대한 포인터로, 발신 호출 설정 요청이 성공한 경우 NDIS는 초기 당사자를 나타내는 핸들을 다중 포인트 연결로 반환합니다. ProtocolPartyContextNULL인 경우 이 변수는 일반적으로 클라이언트의 VC 컨텍스트 영역에서 발신 호출 설정이 완료될 때 NULL로 설정됩니다.

반환 값

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

설명

NdisClMakeCall은 클라이언트에서 시작한 발신 호출에 대해 클라이언트에서 만든 VC의 특성을 설정합니다. 클라이언트는 나가는 호출을 시도하기 전에 NdisCoCreateVc 를 사용하여 VC를 설정해야 합니다.

NdisClMakeCall을 호출하면 NDIS가 이 요청을 클라이언트가 지정된 NdisVcHandle을 공유하는 호출 관리자의 ProtocolCmMakeCall 함수로 전달합니다. CM은 CallParameters 에서 지정된 데이터의 유효성을 검사합니다. 관련 네트워크 구성 요소와 협상하는 동안 이 클라이언트 제공 데이터를 수정할 수 있으며 클라이언트가 원래 NdisClMakeCall에 제공한 것과 다른 트래픽 매개 변수를 반환할 수 있습니다. 클라이언트의 ProtocolClMakeCallComplete 함수는 이 경우 수정된 호출 매개 변수를 수락하거나 CM의 제안된 호출 매개 변수가 허용되지 않는 경우 호출을 중단해야 합니다.

따라서 CallParameters 의 데이터는 적어도 통화 설정 기간 동안 통화 관리자에서 사용할 수 있어야 합니다. NdisClMakeCall이 NDIS_STATUS_PENDING 반환하는 경우 클라이언트는 이 버퍼를 해제할 수 없습니다. ProtocolClMakeCallComplete 함수가 호출될 때까지 클라이언트 할당 리소스 해제를 연기해야 합니다.

NdisClMakeCall이 멀티포인트 연결을 설정하는 경우 기본 네트워크 매체가 파티별 트래픽 매개 변수를 지원하지 않는 한 클라이언트는 지정된 VC에 대한 트래픽 매개 변수를 전역적으로 설정합니다.

클라이언트의 ProtocolClMakeCallComplete 함수는 NdisPartyHandle 에서 반환된 핸들을 사용하기 전에 NDIS_STATUS_SUCCESS 대한 입력 상태를 검사 합니다. 호출 관리자가 다중 포인트 연결에 대한 호출을 설정하라는 요청에 실패하면 이 클라이언트 제공 변수의 값이 잘못되었습니다.

요구 사항

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

추가 정보

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClAddParty

NdisClCloseCall

NdisClModifyCallQoS

NdisCmActivateVc

NdisCmMakeCallComplete

NdisCoCreateVc

ProtocolClMakeCallComplete

ProtocolCmMakeCall