NdisCancelSendPackets 函数 (ndis.h)
注意 NDIS 5. x 已弃用,由 NDIS 6 取代。 x。 有关新的 NDIS 驱动程序开发,请参阅 从 Windows Vista 开始的网络驱动程序。 有关移植 NDIS 5 的信息。 NDIS 6 的 x 驱动程序。 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 的 调用不起作用。
在所有情况下,提交用于传输的数据包将通过调用驱动程序的 ProtocolSendComplete 或 ProtocolCoSendComplete 函数返回到原始协议或中间驱动程序。 返回已取消的发送数据包,完成状态为NDIS_STATUS_ABORTED。 调用 NdisCancelSendPackets 与已取消数据包返回之间的延迟可能会有所不同,因此无法精确指定。
- 目标平台: 通用
- 版本:Windows Vista 中的 NDIS 6.0 驱动程序不支持。 请改用 NdisCancelSendNetBufferLists。 支持 Windows Vista 和 Windows XP 中的 NDIS 5.1 驱动程序。
要求
要求 | 值 |
---|---|
Header | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |