NdisCmActivateVc 함수(ndis.h)

NdisCmActivateVc 는 특정 VC에 대한 미디어 매개 변수를 포함하여 CM 제공 호출 매개 변수를 기본 미니포트 드라이버로 전달합니다.

구문

NDIS_STATUS NdisCmActivateVc(
  [in]      NDIS_HANDLE         NdisVcHandle,
  [in, out] PCO_CALL_PARAMETERS CallParameters
);

매개 변수

[in] NdisVcHandle

호출 매개 변수를 설정할 VC를 식별하는 핸들을 지정합니다. 호출 관리자는 들어오는 호출에 대해 NdisCoCreateVc 에서 이 핸들을 가져오거나 클라이언트에서 시작한 발신 호출에 대한 ProtocolCoCreateVc 함수에 대한 입력 매개 변수로 가져옵니다.

[in, out] CallParameters

기본 미니포트 드라이버가 VC 활성화에 사용하는 모든 미디어별 매개 변수를 포함하는 CO_CALL_PARAMETERS 형식의 구조로 형식이 지정된 CM 할당 상주 버퍼에 대한 포인터입니다.

반환 값

NdisCmActivateVc가 NDIS_STATUS_PENDING 이외의 항목을 반환하는 경우 호출 관리자는 ProtocolCmActivateVcComplete 함수에 대한 내부 호출을 수행해야 합니다. 그렇지 않으면 이 작업이 완료되면 NDIS에서 CM의 ProtocolCmActivateVcComplete 함수를 호출합니다.

설명

NdisCmActivateVc 는 기본 미니포트 드라이버에 새로 만든 VC에서 호출 및 미디어 매개 변수를 설정하거나 설정된 VC의 매개 변수를 변경하도록 알린다. NDIS는 지정된 호출 매개 변수 및 VC 핸들을 기본 미니포트 드라이버의 MiniportCoActivateVc 함수로 전달합니다. 이 함수는 VC의 상태를 추적하는 데 필요한 모든 리소스를 설정하고 VC에서 데이터 전송을 위해 자체 및 NIC를 준비합니다.

독립 실행형 CM은 VC에서 연결을 설정한 후 해당 VC에서 데이터를 보내거나 받기 전에 항상 NdisCmActivateVc 를 호출합니다. 연결 기간 동안 CM은 네트워크 변경 및/또는 클라이언트가 NdisClModifyCallQoS를 호출할 때마다 동일한 NdisVcHandle을 사용하여 NdisCmActivateVc를 여러 번 호출할 수 있습니다. NdisCmActivateVc에 대한 이러한 각 호출에서 기본 미니포트 드라이버의 MiniportCoActivateVc 함수는 다음 중 하나를 수행해야 합니다.

  • 미니포트 드라이버가 새로 수정된 호출 매개 변수에 따라 VC에서 전송을 계속할 수 있는 경우 미니포트 드라이버가 호출 매개 변수에 대해 유지 관리하는 상태를 호출 관리자가 제공하는 새 값으로 업데이트합니다.
  • 미니포트 드라이버가 지정된 호출 매개 변수의 제약 조건에 따라 전송을 계속할 수 없는 경우 호출에 실패합니다.
기본 미니포트 드라이버가 호출 매개 변수를 설정하거나 재설정하는 요청에 실패하면 호출 관리자는 CallParameters 에서 원래 사양을 수정하고 NdisCmActivateVc 를 다시 호출할 수 있습니다. 호출 관리자가 VC 활성화를 반복적으로 시도하는 횟수에 대한 제한은 구현에 따라 다릅니다.

클라이언트에서 시작한 발신 호출의 경우 독립 실행형 CM은 일반적으로 패킷 교환 직후 NdisCmActivateVc 를 호출하여 NdisCmMakeCallComplete로 나가는 호출 완료를 NDIS(및 클라이언트)에 알리기 전에 스위치에서 호출 또는 성공적인 호출 설정의 원격 대상과 협상된 계약을 확인합니다. 수신 통화의 경우 호출 관리자는 일반적으로 NdisCoCreateVc를 성공적으로 호출한 후 NdisCmDispatchIncomingCall을 호출하기 전에 NdisCmActivateVc를 호출합니다.

나가는 호출을 설정하는 프로세스와 VC가 활성화된 상태로 유지되는 동안 클라이언트는 NdisClModifyCallQos를 호출하여 해당 VC에 대한 호출 매개 변수에 대한 변경 내용을 요청할 수 있습니다. 이러한 요청에 대해 지정된 호출 매개 변수의 유효성을 확인한 후 독립 실행형 호출 관리자는 NdisCmActivateVc 를 호출하여 수정된 호출 매개 변수를 기본 미니포트 드라이버로 전달해야 합니다.

NDIS에 프로토콜 드라이버로 등록하는 독립 실행형 통화 관리자만 NdisCmActivateVc를 호출할 수 있습니다. 통합 통화 관리 지원을 제공하는 연결 지향 미니포트 드라이버는 대신 NdisMCmActivateVc 를 호출합니다.

요구 사항

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

참고 항목

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQos

NdisCmDeactivateVc

NdisCmDispatchIncomingCall

NdisCoCreateVc

NdisMCmActivateVc

ProtocolCmActivateVcComplete

ProtocolCoCreateVc