Previous Next

NdisCoDeleteVc

NdisCoDeleteVc destroys a caller-created VC.

NDIS_STATUS 
  NdisCoDeleteVc(
    IN 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:

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.

Headers

Declared in Ndis.h. Include Ndis.h.

Comments

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:

Only the protocol that created a particular VC can delete that VC. A call to NdisCoDeleteVc causes NDIS to call both the underlying NIC 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 protocols, can call NdisCoDeleteVc. Connection-oriented miniport drivers that provide integrated call-management support call NdisMCmDeleteVc instead.

Callers of NdisCoDeleteVc can be running at IRQL <= DISPATCH_LEVEL.

See Also

MiniportCoDeleteVc, NdisClCloseCall, NdisCmDeactivateVc, NdisCoCreateVc, NdisMCmDeleteVc, ProtocolClCloseCallComplete, ProtocolClIncomingCloseCall, ProtocolCmCloseCall, ProtocolCoDeleteVc