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
Das von der NdisOpenAdapterEx-Funktion zurückgegebene Handle, das den Miniporttreiber oder den virtuellen Miniport identifiziert, für den der Abbruch gilt.
[in] CancelId
Der Abbruchbezeichner. Dieser Bezeichner gibt die Netzwerkdaten an, für die die Übertragung abgebrochen wird.
Rückgabewert
Keine
Bemerkungen
Ein Protokolltreiber ordnet IRPs, die er von höherer Software empfängt, NDIS-Netzwerkdaten zu. Eine Liste mit NET_BUFFER_LIST Strukturen beschreibt die Netzwerkdaten, die der Protokolltreiber zur Übertragung an Treiber niedrigerer Ebene 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 folgenden NDIS_SET_NET_BUFFER_LIST_CANCEL_ID Makro für jede NET_BUFFER_LIST-Struktur, die für die Übertragung an Treiber niedrigerer Ebene übergeben wird. Das NDIS_SET_NET_BUFFER_LIST_CANCEL_ID Makro markiert das angegebene Paket mit einem Abbruchbezeichner.
NdisCancelSendNetBufferLists bricht die Übertragung aller Daten ab, die mit dem angegebenen Abbruchbezeichner gekennzeichnet sind und dem angegebenen Miniporttreiber zugeordnet sind. Das im NdisBindingHandle-Parameter angegebene Bindungshandle identifiziert den Miniporttreiber.
Die NdisCancelSendNetBufferLists-Funktion bricht Netzwerkdatenübertragungen für eine einzelne Bindung ab. Um Netzwerkdatenübertragungen über mehrere Bindung abzubrechen, 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 von NdisCancelSendNetBufferLists gü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 gibt keine Garantie dafür, dass der Aufruf von NdisCancelSendNetBufferLists die ausstehende Übertragung aller Netzwerkdaten mit dem angegebenen Abbruchbezeichner abbricht. Wenn beispielsweise der nächstniedrige Treiber, an den der Protokolltreiber gebunden ist, keine MiniportCancelSend-Funktion bereitstellt, bewirkt ein Aufruf von NdisCancelSendNetBufferLists nichts.
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 einer status von NDIS_STATUS_SEND_ABORTED zurück. Die Verzögerung zwischen dem Aufruf von NdisCancelSendNetBufferLists und der Rückgabe der abgebrochenen NET_BUFFER_LIST Strukturen kann variieren und kann daher nicht genau angegeben werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Universell |
Header | ndis.h (include Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_SendRcv_Function(ndis) |