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는 초기 당사자를 나타내는 핸들을 멀티포인트 연결에 반환합니다. ProtocolPartyContext NULL 경우 이 변수는 일반적으로 클라이언트의 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) |