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) |