NdisCmDispatchIncomingCall function

NdisCmDispatchIncomingCall informs the client of an incoming call on a SAP previously registered by that client.

Syntax


NDIS_STATUS NdisCmDispatchIncomingCall(
  _In_ NDIS_HANDLE         NdisSapHandle,
  _In_ NDIS_HANDLE         NdisVcHandle,
  _In_ PCO_CALL_PARAMETERS CallParameters
);

Parameters

NdisSapHandle [in]

Specifies the handle identifying the SAP. NDIS set up this handle when the client originally called NdisClRegisterSap, and the call manager originally obtained this handle as an input parameter to its ProtocolCmRegisterSap function.

NdisVcHandle [in]

Specifies the handle identifying the VC, created with NdisCoCreateVc when the call manager processes the incoming call offer directed to this registered SAP.

CallParameters [in]

Pointer to a structure of type CO_CALL_PARAMETERS that specifies the traffic and media parameters for the VC.

Return value

When NdisCmDispatchIncomingCall returns anything other than NDIS_STATUS_PENDING, the call manager should make an internal call to its ProtocolCmIncomingCallComplete function. Otherwise, NDIS calls the CM's ProtocolCmIncomingCallComplete function when this operation is completed.

Remarks

Before calling NdisCmDispatchIncomingCall, a stand-alone call manager has already done the following:

  • Identified the target SAP, previously registered by a particular client, for the call (actually, a request to make a connection) that it received over the network

  • Created a VC for the incoming call with NdisCoCreateVc

  • Possibly negotiated about acceptable call parameters over the network, or accepted the call parameters sent from the remote node

  • Activated the VC with NdisCmActivateVc, causing the underlying miniport driver to make itself ready for transfers on the VC in accord with the negotiated or accepted call parameters

The CM's call to NdisCmDispatchIncomingCall causes NDIS to call the client's ProtocolClIncomingCall function, within which the client either accepts or rejects the requested connection. After deciding whether to accept the connection, the client calls NdisClIncomingCallComplete, which, in turn, calls the CM's ProtocolCmIncomingCallComplete function. If the client accepted the call, the CM next calls NdisCmDispatchCallConnected. Otherwise, it deactivates (and possibly deletes) the VC it created, after notifying the remote node that the offered call was rejected.

Only stand-alone call managers, which register themselves with NDIS as protocol drivers, can call NdisCmDispatchIncomingCall. Connection-oriented miniport drivers that provide integrated call-management support call NdisMCmDispatchIncomingCall instead.

Requirements

Target platform

Universal

Version

Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisCmDispatchIncomingCall (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisCmDispatchIncomingCall (NDIS 5.1)) in Windows XP.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

DDI compliance rules

Irql_CallManager_Function

See also

CO_CALL_PARAMETERS
NdisClRegisterSap
NdisClIncomingCallComplete
NdisCmActivateVc
NdisCmDeactivateVc
NdisCmDispatchCallConnected
NdisCoCreateVc
NdisCoDeleteVc
NdisCoSendNetBufferLists
NdisMCmDispatchIncomingCall
ProtocolClIncomingCall
ProtocolCmIncomingCallComplete
ProtocolCmRegisterSap
ProtocolCoReceiveNetBufferLists

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft