Share via


NdisMCmDispatchIncomingCall (NDIS 5.1) function

Note   NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.

NdisMCmDispatchIncomingCall informs the client of an incoming call on a SAP previously registered by that client with the MCM driver.

Syntax

NDIS_STATUS NdisMCmDispatchIncomingCall(
  _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 MCM driver obtained this handle as an input parameter to its ProtocolCmRegisterSap function.

  • NdisVcHandle [in]
    Specifies the handle identifying the VC, created with NdisMCmCreateVc when the MCM driver processes the incoming call offer directed to this registered SAP.

  • CallParameters [in]
    Pointer to a structure of type CO_CALL_PARAMETERS that specifies the call and media parameters for the VC.

Return value

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

Remarks

Before calling NdisMCmDispatchIncomingCall, an MCM driver 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 NdisMCmCreateVc

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

  • Activated the VC with NdisMCmActivateVc to notify NDIS that it is ready for transfers on the VC in accord with the negotiated or accepted call parameters

The MCM driver's call to NdisMCmDispatchIncomingCall 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 MCM driver's ProtocolCmIncomingCallComplete function. If the client accepted the call, the MCM driver next calls NdisMCmDispatchCallConnected. Otherwise, it deactivates (and possibly deletes) the VC it created, after notifying the remote node that the offered call was rejected.

Only connection-oriented miniport drivers that provide integrated call-management support call NdisMCmDispatchIncomingCall. Stand-alone call managers, which register themselves with NDIS as protocols, call NdisCmDispatchIncomingCall instead.

Requirements

Target platform

Desktop

Version

See NdisMCmDispatchIncomingCall.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

See also

CO_CALL_PARAMETERS

MiniportHandleInterrupt

NdisClRegisterSap

NdisClIncomingCallComplete

NdisCmDispatchIncomingCall

NdisMCmActivateVc

NdisMCmCreateVc

NdisMCmDeactivateVc

NdisMCmDispatchCallConnected

NdisMCmDeleteVc

ProtocolClIncomingCall

ProtocolCmIncomingCallComplete

ProtocolCmRegisterSap

 

 

Send comments about this topic to Microsoft