Freigeben über


NdisCancelSendNetBufferLists-Funktion (ndis.h)

Protokolltreiber rufen die NdisCancelSendNetBufferLists Funktion auf, um die Übertragung von Netzwerkdaten abzubrechen.

Syntax

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

Parameter

[in] NdisBindingHandle

Der vom NdisOpenAdapterEx Funktion zurückgegebene Handle, der den Miniporttreiber oder den virtuellen Miniport identifiziert, auf den der Abbruch angewendet wird.

[in] CancelId

Der Abbruchbezeichner. Dieser Bezeichner gibt die Netzwerkdaten an, für die die Übertragung abgebrochen wird.

Rückgabewert

Nichts

Bemerkungen

Ein Protokolltreiber ordnet IRPs zu, die er von höherer Software zu NDIS-Netzwerkdaten empfängt. Eine Liste der NET_BUFFER_LIST Strukturen beschreibt die Netzwerkdaten, die der Protokolltreiber an Treiber auf niedrigerer Ebene für die Übertragung sendet. Wenn ein IRP abgebrochen wird, kann ein Protokolltreiber die NdisCancelSendNetBufferLists-funktion aufrufen, um die ausstehende Übertragung der entsprechenden NDIS-Netzwerkdaten abzubrechen.

Rufen Sie die NDIS_SET_NET_BUFFER_LIST_CANCEL_ID Makro für jede NET_BUFFER_LIST Struktur, die an Treiber niedrigerer Ebene für die Übertragung übergeben wird. Das NDIS_SET_NET_BUFFER_LIST_CANCEL_ID Makro kennzeichnet das angegebene Paket mit einem Abbruchbezeichner.

NdisCancelSendNetBufferLists die Übertragung aller Daten, die mit dem angegebenen Abbruchbezeichner gekennzeichnet sind, abbricht und dem angegebenen Miniporttreiber zugeordnet ist. Das bindungshandle, das im NdisBindingHandle Parameter angegeben ist, identifiziert den Miniporttreiber.

Die NdisCancelSendNetBufferLists Funktion bricht die Netzwerkdatenübermittlung in einer einzelnen Bindung ab. Zum Abbrechen von Netzwerkdatenübertragungen in mehr als einer Bindung muss ein Protokolltreiber die NdisCancelSendNetBufferLists Funktion einmal für jede Bindung aufrufen.

Der Protokolltreiber muss sicherstellen, dass das Handle, das der NdisBindingHandle Parameter angibt, für die Dauer des Aufrufs an NdisCancelSendNetBufferListsgültig bleibt. Das heißt, der Protokolltreiber darf die NdisCloseAdapterEx--Funktion nicht aufrufen, um die Bindung zu schließen, bevor NdisCancelSendNetBufferLists zurückgegeben wird.

Es besteht keine Garantie dafür, dass das Aufrufen NdisCancelSendNetBufferLists die ausstehende Übertragung aller Netzwerkdaten mit dem angegebenen Abbruchbezeichner abbricht. Wenn beispielsweise der nächste niedrigere Treiber, an den der Protokolltreiber gebunden ist, keine MiniportCancelSend--Funktion bereitstellt, führt ein Aufruf von NdisCancelSendNetBufferLists nichts aus.

In allen Fällen gibt NDIS Netzwerkdaten zurück, die zur Übertragung an den ursprünglichen Protokolltreiber übermittelt wurden. ProtocolSendNetBufferListsComplete-Funktion. NDIS gibt abgebrochene Sendedaten mit einem Abschlussstatus von NDIS_STATUS_SEND_ABORTED zurück. Die Verzögerung zwischen dem Aufrufen NdisCancelSendNetBufferLists und der Rückgabe der abgebrochenen NET_BUFFER_LIST Strukturen kann variieren und daher nicht exakt angegeben werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Zielplattform- Universal
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_SendRcv_Function(ndis)

Siehe auch

MiniportCancelSend

NDIS_SET_NET_BUFFER_LIST_CANCEL_ID

NET_BUFFER_LIST

NdisCloseAdapterEx

NdisOpenAdapterEx

ProtocolSendNetBufferListsComplete-