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에서 전송을 계속할 수 있는 경우 미니포트 드라이버가 호출 매개 변수에 대해 유지 관리하는 상태를 호출 관리자가 제공하는 새 값으로 업데이트합니다.
- 미니포트 드라이버가 지정된 호출 매개 변수의 제약 조건에 따라 전송을 계속할 수 없는 경우 호출에 실패합니다.
클라이언트에서 시작한 발신 호출의 경우 독립 실행형 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) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기