NdisMCmCloseCallComplete macro (ndis.h)

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(
   _S_,
   _VH_,
   _PH_
);

Parameters

_S_

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.

_VH_

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.

_PH_

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 protocol drivers, call NdisCmCloseCallComplete instead.

Requirements

Requirement Value
Minimum supported client Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisMCmCloseCallComplete (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisMCmCloseCallComplete (NDIS 5.1)) in Windows XP.
Target Platform Desktop
Header ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL
DDI compliance rules Irql_MCM_Function(ndis)

See also

NdisClCloseCall

NdisCmCloseCallComplete

NdisMCmCreateVc

NdisMCmDeactivateVc

NdisMCmDeleteVc

ProtocolClCloseCallComplete

ProtocolCoDeleteVc