共用方式為


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 函式一次。

通訊協定或中繼驅動程式必須確定代表驅動程序系結至適配卡的 NdisBindingHandleNdisCancelSendPackets 呼叫期間仍然有效。 也就是說,通訊協定或中繼驅動程式不得呼叫 NdisCloseAdapter 函 式以在 NdisCancelSendPackets 傳回之前關閉系結。

不保證呼叫 NdisCancelSendPackets 將會取消所有具有指定取消標識碼之封包的擱置傳輸。 例如,如果通訊協定或中繼驅動程式所系結的下一個較低驅動程式不提供 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

另請參閱