NdisCoDeleteVc (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.

NdisCoDeleteVc destroys a caller-created VC.

Syntax

NDIS_STATUS NdisCoDeleteVc(
  _In_ NDIS_HANDLE NdisVcHandle
);

Parameters

  • NdisVcHandle [in]
    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 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.

Requirements

Target platform

Universal

Version

See NdisCoDeleteVc.

Header

Ndis.h (include Ndis.h)

Library

Ndis.lib

IRQL

<= DISPATCH_LEVEL

See also

MiniportCoDeleteVc

NdisClCloseCall

NdisCmDeactivateVc

NdisCoCreateVc

NdisMCmDeleteVc

ProtocolClCloseCallComplete

ProtocolClIncomingCloseCall

ProtocolCmCloseCall

ProtocolCoDeleteVc

 

 

Send comments about this topic to Microsoft