NdisCoDeleteVc function

NdisCoDeleteVc destroys a caller-created VC.

Syntax

NDIS_STATUS NdisCoDeleteVc(
  NDIS_HANDLE NdisVcHandle
);

Parameters

NdisVcHandle

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

Return Value

NdisCoDeleteVc 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.
NDIS_STATUS_CLOSING
This call is redundant, but deactivation on the given VC is still pending.

Remarks

When a protocol calls NdisCoDeleteVc, there must be no outstanding calls on the given VC and that VC already has been deactivated. To meet these requirements implies that the following conditions hold:

  • If the call tear-down was initiated by a local client, that client has already called NdisClCloseCall with the given NdisVcHandle and its close-call request has completed successfully.
  • If the call tear-down was initiated by a remote client, the stand-alone call manager has already called NdisCmDeactivateVc with the given NdisVcHandle and its deactivation request has completed successfully.
Only the protocol that created a particular VC can delete that VC. A call to NdisCoDeleteVc causes NDIS to call both the underlying miniport driver's MiniportCoDeleteVc function and the ProtocolCoDeleteVc function of the client or call manager with which the caller shares the NdisVcHandle .

When NdisCoDeleteVc returns control, the NdisVcHandle is no longer valid.

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

Requirements

   
Minimum supported client Supported for NDIS 6.0 and NDIS 5.1 drivers (see NdisCoDeleteVc (NDIS 5.1)) in Windows Vista. Supported for NDIS 5.1 drivers (see NdisCoDeleteVc (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_Connection_Function

See Also

MiniportCoDeleteVc

NdisClCloseCall

NdisCmDeactivateVc

NdisCoCreateVc

NdisMCmDeleteVc

ProtocolClCloseCallComplete

ProtocolClIncomingCloseCall

ProtocolCmCloseCall

ProtocolCoDeleteVc