ProtocolCoDeleteVc (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.
The ProtocolCoDeleteVc function is required. This function tears down the client's or call manager's state for an established virtual connection that is being closed by the original creator of that VC.
Syntax
NDIS_STATUS ProtocolCoDeleteVc(
_In_ NDIS_HANDLE ProtocolVcContext
);
Parameters
- ProtocolVcContext [in]
Specifies the handle to the client's or call manager's per-VC context area. The protocol originally supplied this handle from its ProtocolCoCreateVc function.
Return value
ProtocolCoDeleteVc can return one of the following:
Return code | Description |
---|---|
NDIS_STATUS_SUCCESS | The protocol has released or prepared for reuse all the resources that it originally allocated for the VC. |
NDIS_STATUS_NOT_ACCEPTED | The VC is still active and the protocol has outstanding operations pending on the VC so it could not be destroyed. |
NDIS_STATUS_XXX | The protocol failed the VC deletion for a driver-determined reason. |
Remarks
ProtocolCoDeleteVc is the reciprocal of the driver's ProtocolCoCreateVc function. In general, it releases any dynamic resources and structures that the call manager or client previously allocated to perform operations on the active VC.
When ProtocolCoDeleteVc returns control with NDIS_STATUS_SUCCESS, the NdisVcHandle that its NdisCoCreateVc function stored in the area at ProtocolVcContext becomes invalid.
ProtocolCoDeleteVc can return any driver-determined NDIS_STATUS_XXX to fail the deletion of the VC, but it cannot return NDIS_STATUS_PENDING. Calls to ProtocolCoDeleteVc are inherently synchronous in nature.
Requirements
Target platform |
Desktop |
Version |
See ProtocolCoDeleteVc. |
Header |
Ndis.h (include Ndis.h) |
IRQL |
<= DISPATCH_LEVEL |
See also
NdisCmDispatchIncomingCloseCall