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.
VOID NdisMCmCloseCallComplete( _In_ NDIS_STATUS Status, _In_ NDIS_HANDLE NdisVcHandle, _In_opt_ NDIS_HANDLE NdisPartyHandle );
- 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.
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.
|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.|
DDI compliance rules