NdisClIncomingCallComplete function (ndis.h)

NdisClIncomingCallComplete returns a client's acceptance or rejection of an offered incoming call, for which the client's ProtocolClIncomingCall function previously returned NDIS_STATUS_PENDING.

Syntax

void NdisClIncomingCallComplete(
  [in] NDIS_STATUS         Status,
  [in] NDIS_HANDLE         NdisVcHandle,
  [in] PCO_CALL_PARAMETERS CallParameters
);

Parameters

[in] Status

Is set to NDIS_STATUS_SUCCESS if the client accepts the offered call. Otherwise, this parameter can be set to any NDIS_STATUS_XXX except NDIS_STATUS_PENDING to indicate the client-determined reason for rejecting the call.

[in] NdisVcHandle

Specifies the handle to the VC that was created by the call manager to represent the incoming call. The client obtained this handle from it per-VC state designated by the ProtocolVcContext passed as an input parameter to its ProtocolClIncomingCall function.

[in] CallParameters

Pointer to a structure of type CO_CALL_PARAMETERS, specifying the call parameters for the incoming call.

Return value

None

Remarks

If a client's ProtocolClIncomingCall function returns NDIS_STATUS_PENDING for an offered call incoming on a particular SAP, previously registered by the client with NdisClRegisterSap, the client subsequently must call NdisClIncomingCallComplete to indicate whether it is accepting or rejecting the offered call.

Before it calls NdisClIncomingCallComplete, such a client can negotiate with the call manager by calling NdisClModifyCallQoS one or more times until both drivers reach an agreement on an acceptable quality of service for the incoming call or the client determines it should reject the offered call because its attempts to modify the QoS reach some client-determined limit without resulting in an agreement.

If the client has changed the call parameters passed in to its ProtocolClIncomingCall function, it must set the Flags member in the CO_CALL_PARAMETERS structure with CALL_PARAMETERS_CHANGED when it passes these changes to NdisClIncomingCallComplete. Depending on whether the call manager accepts or rejects the client's proposed changes to the call parameters, NDIS subsequently calls either the client's ProtocolClCallConnected function or its ProtocolClIncomingCloseCall function, respectively.

A call to NdisClIncomingCallComplete causes NDIS to call the CM's ProtocolCmIncomingCallComplete function. NDIS passes the client-supplied parameters of NdisClIncomingCallComplete as input parameters to ProtocolCmIncomingCallComplete.

If a client rejects an offered call by setting Status to something other than NDIS_STATUS_SUCCESS, the client must consider the CallParameters pointer invalid as soon as its call to NdisClIncomingCallComplete occurs.

Requirements

Requirement Value
Minimum supported client Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisClIncomingCallComplete (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisClIncomingCallComplete (NDIS 5.1)) in Windows XP.
Target Platform Desktop
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI compliance rules Irql_Protocol_Driver_Function(ndis)

See also

CO_CALL_PARAMETERS

NdisClModifyCallQoS

NdisClRegisterSap

NdisCmDispatchIncomingCall

ProtocolClCallConnected

ProtocolClIncomingCall

ProtocolClIncomingCloseCall

ProtocolCmIncomingCallComplete