NdisMCmDeleteVc function

NdisMCmDeleteVc destroys a caller-created VC.

Syntax

NDIS_STATUS NdisMCmDeleteVc(
  NDIS_HANDLE NdisVcHandle
);

Parameters

NdisVcHandle

Specifies the handle identifying the VC to be deleted. The caller originally obtained this handle from NdisMCmCreateVc.

Return Value

NdisMCmDeleteVc can return one of the following:

Return code Description
NDIS_STATUS_SUCCESS
NDIS deleted the VC.
NDIS_STATUS_NOT_ACCEPTED
The VC is still active, so it could not be deleted.

Remarks

When an MCM driver calls NdisMCmDeleteVc, there must be no outstanding calls on the given VC and that VC must have been deactivated. To meet these requirements implies that the MCM driver has already called NdisMCmDeactivateVc with the given NdisVcHandle successfully.

Only the driver that created a particular VC can delete that VC. A call to NdisMCmDeleteVc causes NDIS to call the ProtocolCoDeleteVc function of the client with which the caller shares the NdisVcHandle .

When NdisMCmDeleteVc returns control, the NdisVcHandle is no longer valid. The MCM driver can release the resources it allocated to maintain state about the deleted VC or prepare them for reuse in a subsequent incoming-call notification after it calls NdisMCmCreateVc.

The driver writer determines whether an MCM driver has an (internal) MiniportCoDeleteVc function that the driver calls in the context of tearing down connections for outgoing and incoming calls.

Only connection-oriented miniport drivers that provide integrated call-management support can call NdisMCmDeleteVc. Stand-alone call managers and clients, which register themselves with NDIS as protocol drivers, call NdisCoDeleteVc instead.

Requirements

   
Windows version Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisMCmDeleteVc (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisMCmDeleteVc (NDIS 5.1)) in Windows XP.
Target Platform Desktop
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL "<= DISPATCH_LEVEL"
DDI compliance rules Irql_MCM_Function

See Also

MiniportCoDeleteVc

NdisClCloseCall

NdisCoDeleteVc

NdisMCmCreateVc

NdisMCmDeactivateVc

ProtocolCoDeleteVc