NdisCancelSendPackets 函数 (ndis.h)

注释 NDIS 5。 x 已被弃用,并被 NDIS 6 取代。 x。 有关新的 NDIS 驱动程序开发,请参阅从 Windows Vista 开始网络驱动程序。 有关移植 NDIS 5 的信息。 将 x 驱动程序 到 NDIS 6。 x,请参阅 将 NDIS 5.x 驱动程序移植到 NDIS 6.0

NdisCancelSendPackets 取消绑定句柄标识的微型端口驱动程序上标有指定取消标识符的所有数据包的传输。

语法

void NdisCancelSendPackets(
  [in] NDIS_HANDLE NdisBindingHandle,
  [in] PVOID       CancelId
);

参数

[in] NdisBindingHandle

指定 NdisOpenAdapter 返回的句柄,该句柄标识取消应用到的 NIC 或虚拟适配器。

[in] CancelId

指向取消标识符的指针。 此标识符指定正在取消传输的数据包或数据包组。

返回值

没有

言论

传输协议将从较高级别的软件收到的 IRP 映射到 NDIS 数据包,然后协议会发送到较低级别的驱动程序进行传输。 如果取消了 IRP,传输协议可以调用 NdisCancelSendPackets 函数来取消相应 NDIS 数据包的挂起传输。

NdisCancelSendPackets 函数取消单个绑定上的数据包传输。 若要取消多个绑定上的数据包传输,协议或中间驱动程序必须为每个绑定调用一次 NdisCancelSendPackets 函数。

协议或中间驱动程序必须确保 NdisBindingHandle(表示驱动程序绑定到适配器)在调用 NdisCancelSendPackets期间保持有效。 也就是说,在 NdisCancelSendPackets 返回之前,协议或中间驱动程序不得调用 NdisCloseAdapter 函数关闭绑定。

不能保证调用 NdisCancelSendPackets 将取消具有指定取消 ID 的所有数据包的挂起传输。 例如,如果协议或中间驱动程序绑定到的下一个较低驱动程序不提供 MiniportCancelSendPackets 函数,则调用 NdisCancelSendPackets 不执行任何作。

在所有情况下,提交传输的数据包将通过调用驱动程序的 ProtocolSendCompleteProtocolCoSendComplete 函数返回到原始协议或中间驱动程序。 取消的发送数据包返回,完成状态为NDIS_STATUS_ABORTED。 调用 NdisCancelSendPackets 和取消数据包返回之间的延迟可能会有所不同,因此无法完全指定。

  • 目标平台:通用
  • 版本:Windows Vista 中不支持 NDIS 6.0 驱动程序。 请改用 NdisCancelSendNetBufferLists。 在 Windows Vista 和 Windows XP 中支持 NDIS 5.1 驱动程序。

要求

要求 价值
标头 ndis.h (包括 Ndis.h)
Ndis.lib
IRQL IRQL <= DISPATCH_LEVEL

另请参阅