// ndis.h
NDIS_STATUS NdisCmDeactivateVc(
[in] NDIS_HANDLE NdisVcHandle
);
View the official Windows Driver Kit DDI referenceNo description available.
NdisCmDeactivateVc notifies NDIS and the underlying miniport driver that there will be no further transfers on a particular active VC.
NdisVcHandle [in]Specifies the handle identifying the VC. This handle was supplied by NDIS to the call manager either when it called NdisCoCreateVc for an incoming call or when its ProtocolCoCreateVc function set up the VC for a client-initiated outgoing call.
When NdisCmDeactivateVc returns anything other than NDIS_STATUS_PENDING, the call manager should make an internal call to its ProtocolCmDeactivateVcComplete function. Otherwise, NDIS calls the CM's ProtocolCmDeactivateVcComplete function when this operation is completed.
A stand-alone call manager calls NdisCmDeactivateVc as an essential step in closing a call, usually after the packet exchange with network components that tears down the call.
A call to NdisCmDeactivateVc causes NDIS to call the underlying miniport driver's MiniportCoDeactivateVc function, which can discard the current call parameters for transfers on the VC, possibly reinitializing them to miniport driver-determined default values. If the VC is reactivated subsequently for another call, the client or call manager will supply new call parameters to the miniport driver.
The NdisVcHandle passed to NdisCmDeactivateVc remains valid after VC deactivation is completed. The deactivation of any VC allows its creator to reinitialize the VC for reuse:
The creator of a particular VC that will not be reused calls NdisCoDeleteVc to destroy that VC.
Only stand-alone call managers, which register themselves with NDIS as protocol drivers, can call NdisCmDeactivateVc. Connection-oriented miniport drivers that provide integrated call-management support call NdisMCmDeactivateVc instead.
ProtocolCmDeactivateVcComplete