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 呼叫期間仍然有效。 也就是說,通訊協定或中繼驅動程式不得呼叫 NdisCloseAdapter 函 式以在 NdisCancelSendPackets 傳回之前關閉系結。
不保證呼叫 NdisCancelSendPackets 將會取消所有具有指定取消標識碼之封包的擱置傳輸。 例如,如果通訊協定或中繼驅動程式所系結的下一個較低驅動程式不提供 MiniportCancelSendPackets 函式, 則 NdisCancelSendPackets 的呼叫不會執行任何動作。
在所有情況下,送出用於傳輸的封包會透過呼叫驅動程式的 ProtocolSendComplete 或 ProtocolCoSendComplete 函式傳回至原始通訊協定或中繼驅動程式。 已取消的傳送封包會以完成狀態傳回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 |