NdisCmDeactivateVc (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.
NdisCmDeactivateVc notifies NDIS and the underlying NIC driver that there will be no further transfers on a particular active VC.
Syntax
NDIS_STATUS NdisCmDeactivateVc(
_In_ NDIS_HANDLE NdisVcHandle
);
Parameters
- 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.
Return value
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.
Remarks
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 NIC 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:
Following VC deactivation and the closing of the call, a client can reuse a VC that it originally created to make another call with NdisClMakeCall.
Following VC deactivation and the closing of the call, a CM can reuse a VC that it originally created to indicate another incoming call to the same client with NdisCmDispatchIncomingCall.
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 protocols, can call NdisCmDeactivateVc. Connection-oriented miniport drivers that provide integrated call-management support call NdisMCmDeactivateVc instead.
Requirements
Target platform |
Universal |
Version |
See NdisCmDeactivateVc. |
Header |
Ndis.h (include Ndis.h) |
Library |
Ndis.lib |
IRQL |
<= DISPATCH_LEVEL |
See also
ProtocolCmDeactivateVcComplete