Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Miniport-Treiber rufen die NdisMSendNetBufferListsComplete--Funktion auf, um eine verknüpfte Liste von NET_BUFFER_LIST Strukturen an einen überfälligen Treiber zurückzugeben und den endgültigen Status einer Sendeanforderung zurückzugeben.
Syntax
VOID NdisMSendNetBufferListsComplete(
[in] NDIS_HANDLE MiniportAdapterHandle,
PNET_BUFFER_LIST NetBufferList,
[in] ULONG SendCompleteFlags
);
Parameter
[in] MiniportAdapterHandle
Der Miniportpunkt, den NDIS an die MiniportInitializeEx--Funktion übergeben hat.
NetBufferList
Ein Zeiger auf eine verknüpfte Liste von NET_BUFFER_LIST Strukturen. Der Miniporttreiber hat die NET_BUFFER_LIST Strukturen in vorherigen Aufrufen der MiniportSendNetBufferLists-Funktion empfangen.
[in] SendCompleteFlags
NDIS-Flags, die mit einem OR-Vorgang kombiniert werden können. Um alle Flags zu löschen, legen Sie dieses Element auf Null fest. Diese Funktion unterstützt die NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL Kennzeichnung, die; wenn festgelegt, gibt an, dass die aktuelle IRQL DISPATCH_LEVEL ist. Weitere Informationen zu diesem Kennzeichen finden Sie unter IRQL Tracking.
Rückgabewert
Nichts
Bemerkungen
Ein Miniporttreiber ruft NdisMSendNetBufferListsComplete- zum Abschließen von Sendeanforderungen auf, die NDIS an die MiniportSendNetBufferLists Funktion des Treibers vorgenommen hat. Der Miniporttreiber gibt eine verknüpfte Liste der NET_BUFFER_LIST Strukturen an, die den abgeschlossenen Sendeanforderungen zugeordnet sind. Während der Status der Sendeanforderungen aussteht, behält der Miniporttreiber den Besitz der NET_BUFFER_LIST Strukturen und alle protokollverteilten Ressourcen, die den NET_BUFFER_LIST Strukturen zugeordnet sind.
Nachdem ein Miniporttreiber NdisMSendNetBufferListsCompleteaufruft, ruft NDIS die ProtocolSendNetBufferListsComplete--Funktion des Treibers auf, der die NdisSendNetBufferLists- funktion aufgerufen hat, um die Sendeanforderung zu initiieren.
Der Miniporttreiber kann Sendeanforderungen in beliebiger Reihenfolge abschließen. Beispielsweise könnte der Miniporttreiber die NET_BUFFER_LIST Strukturlisten aus mehreren MiniportSendNetBufferLists Aufrufen verketten oder eine Liste aus einer MiniportSendNetBufferLists Aufruf aufteilen. Der Miniporttreiber darf jedoch nicht die Liste der NET_BUFFER Strukturen ändern, die einer NET_BUFFER_LIST Struktur zugeordnet sind.
Der Miniporttreiber muss einen der folgenden Statuscodes im Status Member jeder NET_BUFFER_LIST Struktur festlegen, die der NetBufferLists-parameter angibt:
| Struktur | Beschreibung |
|---|---|
| NDIS_STATUS_SUCCESS | Alle Netzwerkdaten, die die NET_BUFFER_LIST Struktur und die zugehörigen NET_BUFFER Strukturen beschreiben, wurden erfolgreich für die Übertragung verarbeitet. Beispielsweise hat der Miniporttreiber die Daten in eine Warteschlange kopiert, oder die Daten wurden bereits übertragen. |
| NDIS_STATUS_INVALID_LENGTH | Die Größe der Daten in einigen NET_BUFFER Strukturen, die dieser NET_BUFFER_LIST Struktur zugeordnet sind, war für die zugrunde liegende NIC zu groß. |
| NDIS_STATUS_RESOURCES | Fehler bei der Sendeanforderung für diese NET_BUFFER_LIST Struktur aufgrund unzureichender Ressourcen. |
| NDIS_STATUS_PAUSED | Der Miniportadapter befindet sich im Zustand "Angehalten", wie auf der Referenzseite für die MiniportPause-Funktion beschrieben. |
| NDIS_STATUS_SEND_ABORTED | NDIS hat die MiniportCancelSend-Funktion aufgerufen, um den Sendevorgang für diese NET_BUFFER_LIST Struktur abzubrechen. |
| NDIS_STATUS_RESET_IN_PROGRESS | Der Miniporttreiber hat die Sendeanforderung aufgrund einer Zurücksetzung abgebrochen. |
| NDIS_STATUS_FAILURE | Der Miniporttreiber hat die Sendeanforderung aus einem anderen Grund als den zuvor beschriebenen fehlgeschlagen. Beispielsweise kann der Miniporttreiber die Sendeanforderung aufgrund eines Hardwarefehlers fehlschlagen. |
Ein Miniporttreiberaufruf an NdisMSendNetBufferListsComplete bedeutet nicht unbedingt, dass die Daten für eine Sendeanforderung über das Netzwerk übertragen wurden. Die Daten werden möglicherweise in die NIC-Hardware in die Warteschlange gestellt.
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), NdisTimedDataHang, NdisTimedDataSend |