NdisCoCreateVc 함수(ndis.h)
NdisCoCreateVc 클라이언트가 발신 전화를 걸 수 있거나 독립 실행형 호출 관리자가 들어오는 호출을 디스패치할 수 있는 연결 엔드포인트를 설정합니다.
통사론
NDIS_STATUS NdisCoCreateVc(
[in] NDIS_HANDLE NdisBindingHandle,
[in, optional] NDIS_HANDLE NdisAfHandle,
[in] NDIS_HANDLE ProtocolVcContext,
[in, out] PNDIS_HANDLE NdisVcHandle
);
매개 변수
[in] NdisBindingHandle
호출자가 바인딩된 다음 하위 드라이버의 대상 NIC 또는 가상 어댑터를 식별하는 NdisOpenAdapterEx 반환된 핸들을 지정합니다.
[in, optional] NdisAfHandle
호출자가 클라이언트인 경우 NdisClOpenAddressFamilyEx 반환된 핸들을 지정합니다. 호출 관리자는 네트워크 스위치에 대한 VC와 같이 자체 VC를 만드는 경우 NULL 이 매개 변수를 설정합니다. 들어오는 호출 알림에 대한 VC를 만들 때 호출 관리자는 입력 매개 변수로 전달된 CallMgrAfContext 지정된 AF별 상태에 저장된 AF 핸들을 전달합니다. ProtocolCmRegisterSap 함수입니다.
[in] ProtocolVcContext
호출자가 이 VC에 대한 상태를 유지하는 호출자 제공 상주 컨텍스트 영역에 대한 핸들을 지정합니다. NDIS는 NdisCoCreateVc 대한 호출이 성공하면 이 엔드포인트와 관련된 모든 후속 호출에서 이 핸들을 VC 작성자에 다시 전달합니다.
[in, out] NdisVcHandle
NdisCoCreateVc 호출될 때 NULL 초기화해야 하는 호출자 제공 변수에 대한 포인터입니다. 성공적인 호출에서 반환되면 NDIS가 새로 만든 VC에 대한 핸들로 설정한 변수를 가리킵니다. 호출자는 연결 지향 Ndis Xxx 함수에 대한 후속 호출에 대해 이 핸들을 저장해야 합니다.
반환 값
NdisCoCreateVc 다음 중 하나를 반환할 수 있습니다.
반환 코드 | 묘사 |
---|---|
|
NDIS는 VC를 성공적으로 만들었습니다. |
|
NDIS에서 VC를 설정하기에 충분한 메모리를 할당할 수 없습니다. |
|
지정된 NdisAfHandle 잘못되었습니다. |
|
기본 미니포트 드라이버는 NDIS가 호출자에게 전파된 미니포트 드라이버 결정 이유로 VC를 만들지 못했습니다. |
발언
클라이언트 또는 독립 실행형 호출 관리자는 VC가 각각 발신 또는 수신 호출을 나타내는지 여부에 따라 NdisCoCreateVc사용하여 VC를 만듭니다.
VC를 만드는 과정에서 NDIS는 클라이언트, 호출 관리자 및 두 프로토콜 드라이버가 바인딩된 미니포트 드라이버에 NdisVcHandle 제공합니다. 이 핸들은 지정된 VC와 관련된 후속 요청이 전달되는 클라이언트, 호출 관리자 및 미니포트 드라이버에 대한 가상 회로를 식별합니다. 각 드라이버는 이 VC 핸들을 불투명 변수로 처리하여 특정 연결 지향 NDIS 라이브러리 함수에 대한 후속 호출에서 수정되지 않고 해석되지 않은 상태로 전달해야 합니다.
일반적으로 NdisCoCreateVc 호출자는 반환된 NdisVcHandleProtocolVcContext 호출자가 할당한 상태 영역에 저장할 있습니다. NDIS는 이 핸들을 ProtocolCoCreateVc 입력 매개 변수로 전달하고 각 VC 생성에 관련된 다른 두 드라이버의 함수를 MiniportCoCreateVc를 전달합니다.
발신 전화를 걸려면 클라이언트가 먼저 NdisCoCreateVc 호출해야 합니다. 동기 작업으로 NDIS는 기본 미니포트 드라이버의 MiniportCoCreateVc 함수를 호출하고 호출 관리자의 ProtocolCoCreateVc 함수를 호출한 후 NdisCoCreateVc 컨트롤을 반환합니다. NdisCoCreateVc 대한 호출이 성공하면 클라이언트는 나가는 호출을 계속 진행하여 반환된 NdisVcHandleNdisClMakeCall전달할 수 있습니다.
시기 ProtocolCoReceiveNetBufferLists 함수가 등록된 SAP 중 하나로 전달되는 수신 호출의 제안을 처리하는 호출 관리자는 먼저 NdisCoCreateVc 호출해야 합니다. 동기 작업으로 NDIS는 기본 미니포트 드라이버의 MiniportCoCreateVc 함수 및 클라이언트의 ProtocolCoCreateVc 함수를 호출한 후 NdisCoCreateVc 컨트롤을 반환합니다. NdisCoCreateVc 대한 호출이 성공하면 호출 관리자는 적절한 클라이언트에 알리고 반환된 값을 NdisVcHandle 전달할 수 있습니다. NdisCmDispatchIncomingCall.
NDIS에 프로토콜 드라이버로 등록하는 독립 실행형 통화 관리자는 NdisCoCreateVc호출할 수 있습니다. 대신 통합 통화 관리 지원 호출 NdisMCmCreateVc제공하는 연결 지향 미니포트 드라이버입니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버(NdisCoCreateVc(NDIS 5.1 참조)에 대해 지원됩니다. Windows XP에서 NDIS 5.1 드라이버(NdisCoCreateVc(NDIS 5.1 참조)에 대해 지원됩니다. |
대상 플랫폼 | 바탕 화면 |
헤더 | ndis.h(Ndis.h 포함) |
라이브러리 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 규정 준수 규칙 | Irql_Connection_Function(ndis) |