Share via


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

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

Syntax

VOID NdisCmCloseCallComplete(
  _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 CM close the connection, either NDIS_STATUS_SUCCESS or any CM-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 call manager or client, with NdisCoCreateVc. More recently, the call manager obtained this handle from its per-VC state designated by the CallMgrVcContext passed as an input parameter to its ProtocolCmCloseCall 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 CM obtained from its per-party state designated by the CallMgrPartyContext passed as an input parameter to its ProtocolCmCloseCall function.

Return value

None

Remarks

If a stand-alone call manager's ProtocolCmCloseCall function returns NDIS_STATUS_PENDING, the CM must call NdisCmCloseCallComplete 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 NdisCmCloseCallComplete causes NDIS to call the client's ProtocolClCloseCallComplete function.

If it passes NDIS_STATUS_SUCCESS as the Status, the call manager should consider the NdisVcHandle(and NdisPartyHandle, if any) unusable for transfers over the network as soon as it calls NdisCmCloseCallComplete. If the call manager originally created the VC, it should call NdisCoDeleteVc with the same NdisVcHandle that it just passed to NdisCmCloseCallComplete. If the client created this VC, the call manager can expect a call to its ProtocolCoDeleteVc function with the ProtocolVcContext, where it has the same NdisVcHandle, as an input parameter.

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

Requirements

Target platform

Universal

Version

See NdisCmCloseCallComplete.

Header

Ndis.h (include Ndis.h)

Library

Ndis.lib

IRQL

<= DISPATCH_LEVEL

See also

NdisClCloseCall

NdisMCmCloseCallComplete

NdisCoDeleteVc

ProtocolClCloseCallComplete

ProtocolCoDeleteVc

 

 

Send comments about this topic to Microsoft