NdisCancelSendPackets-Funktion (ndis.h)

Hinweis NDIS 5. x ist veraltet und wird durch NDIS 6 ersetzt. x. Informationen zur Entwicklung neuer NDIS-Treiber finden Sie unter Netzwerktreiber ab Windows Vista. Informationen zum Portieren von NDIS 5. x Treiber für NDIS 6. x, siehe Portieren von NDIS 5.x-Treibern zu NDIS 6.0.

NdisCancelSendPackets beendet die Übertragung aller Pakete, die mit dem angegebenen Abbruchbezeichner auf dem durch das Bindungshandle identifizierten Miniporttreiber gekennzeichnet sind.

Syntax

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

Parameter

[in] NdisBindingHandle

Gibt das von NdisOpenAdapter zurückgegebene Handle an, das die NIC oder den virtuellen Adapter identifiziert, für den der Abbruch gilt.

[in] CancelId

Zeiger auf den Abbruchbezeichner. Dieser Bezeichner gibt das Paket oder die Gruppe von Paketen an, für die die Übertragung abgebrochen wird.

Rückgabewert

Keine

Bemerkungen

Transportprotokolle ordnen IRPs, die von höherer Software empfangen werden, NDIS-Paketen zu, die die Protokolle dann zur Übertragung an Treiber auf niedrigerer Ebene senden. Wenn ein IRP abgebrochen wird, kann ein Transportprotokoll die NdisCancelSendPackets-Funktion aufrufen, um die ausstehende Übertragung des entsprechenden NDIS-Pakets abzubrechen.

Die NdisCancelSendPackets-Funktion bricht Paketübertragungen für eine einzelne Bindung ab. Um Paketübertragungen bei mehr als einer Bindung abzubrechen, muss ein Protokoll- oder Zwischentreiber die NdisCancelSendPackets-Funktion für jede Bindung einmal aufrufen.

Der Protokoll- oder Zwischentreiber muss sicherstellen, dass NdisBindingHandle, das die Bindung des Treibers an den Adapter darstellt, für die Dauer des Aufrufs von NdisCancelSendPackets gültig bleibt. Das heißt, der Protokoll- oder Zwischentreiber darf die NdisCloseAdapter-Funktion nicht aufrufen, um die Bindung zu schließen, bevor NdisCancelSendPackets zurückgegeben wird .

Es gibt keine Garantie, dass der Aufruf von NdisCancelSendPackets die ausstehende Übertragung aller Pakete mit der angegebenen Abbruch-ID abbricht. Wenn beispielsweise der nächstniedrige Treiber, an den das Protokoll oder der Zwischentreiber gebunden ist, keine MiniportCancelSendPackets-Funktion bereitstellt, führt ein Aufruf von NdisCancelSendPackets zu keinem Fehler.

In allen Fällen werden Pakete, die zur Übertragung übermittelt werden, über einen Aufruf der ProtocolSendComplete - oder ProtocolCoSendComplete-Funktion des Treibers an das Ursprungsprotokoll oder den Zwischentreiber zurückgegeben. Abgebrochene Sendepakete werden mit einer vervollständigten status von NDIS_STATUS_ABORTED zurückgegeben. Die Verzögerung zwischen dem Aufrufen von NdisCancelSendPackets und der Rückgabe der abgebrochenen Pakete kann variieren und kann daher nicht genau angegeben werden.

  • Zielplattform: Universell
  • Version: Nicht unterstützt für NDIS 6.0-Treiber in Windows Vista. Verwenden Sie stattdessen NdisCancelSendNetBufferLists. Unterstützt für NDIS 5.1-Treiber in Windows Vista und Windows XP.

Anforderungen

Anforderung Wert
Header ndis.h (einschließlich Ndis.h)
Bibliothek Ndis.lib
IRQL IRQL <= DISPATCH_LEVEL

Weitere Informationen