Share via


NdisMCmCloseCallComplete (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.

NdisMCmCloseCallComplete returns the final status of a client's request, for which the MCM driver previously returned NDIS_STATUS_PENDING, to tear down a call.

Syntax

VOID NdisMCmCloseCallComplete(
  _In_     NDIS_STATUS Status,
  _In_     NDIS_HANDLE NdisVcHandle,
  _In_opt_ NDIS_HANDLE NdisPartyHandle
);

Parameters

  • Status [in]
    Specifies the final status of the client's request that the MCM driver close the connection, either NDIS_STATUS_SUCCESS or any caller-determined NDIS_STATUS_XXX except NDIS_STATUS_PENDING.

  • NdisVcHandle [in]
    Specifies the handle to the VC for the call. This handle was supplied by NDIS when the VC was originally created, whether by the MCM driver with NdisMCmCreateVc or as an input parameter to its ProtocolCoCreateVc function.

  • NdisPartyHandle [in, optional]
    Specifies either NULL if the NdisVcHandle represents a point-to-point VC or the handle to the last remaining party on a multipoint connection, which the MCM driver obtained from its per-party state designated by the CallMgrPartyContext passed as an input parameter to its ProtocolCmCloseCall function.

Return value

None

Remarks

If an MCM driver's ProtocolCmCloseCall function returns NDIS_STATUS_PENDING, it must call NdisMCmCloseCallComplete subsequently to notify the client and NDIS that its attempt to break the connection has completed, whether successfully or with an error. A call to NdisMCmCloseCallComplete causes NDIS to call the client's ProtocolClCloseCallComplete function.

If it passes NDIS_STATUS_SUCCESS as the Status, the MCM driver should consider the NdisVcHandle(and NdisPartyHandle, if any) unusable for transfers over the network as soon as it calls NdisMCmCloseCallComplete. If the MCM driver originally created the VC, it should call NdisMCmDeleteVc with the same NdisVcHandle that it just passed to NdisMCmCloseCallComplete. If the client created this VC, the MCM driver can expect a call to its ProtocolCoDeleteVc function with the ProtocolVcContext, designating its per-VC state in which it has stored the same NdisVcHandle, as an input parameter.

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

Requirements

Target platform

Desktop

Version

See NdisMCmCloseCallComplete.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

See also

NdisClCloseCall

NdisCmCloseCallComplete

NdisMCmCreateVc

NdisMCmDeactivateVc

NdisMCmDeleteVc

ProtocolClCloseCallComplete

ProtocolCoDeleteVc

 

 

Send comments about this topic to Microsoft