NdisMCoSendNetBufferListsComplete-Funktion (ndis.h)
Die NdisMCoSendNetBufferListsComplete-Funktion gibt eine verknüpfte Liste von NET_BUFFER_LIST Strukturen an einen überlastenden Treiber zurück und gibt den endgültigen status einer CoNDIS-Sendeanforderung zurück.
Syntax
void NdisMCoSendNetBufferListsComplete(
[in] IN NDIS_HANDLE NdisVcHandle,
[in] IN PNET_BUFFER_LIST NetBufferLists,
[in] IN ULONG SendCompleteFlags
);
Parameter
[in] NdisVcHandle
Ein Handle, das eine virtuelle Verbindung (VC) identifiziert. Der Miniporttreiber hat dieses Handle als Eingabeparameter für seine MiniportCoCreateVc-Funktion abgerufen, entweder wenn ein Client einen ausgehenden Anruf einrichtet oder wenn der Anrufmanager eine VC für einen vom Client registrierten Dienstzugriffspunkt (SAP) erstellt hat, um eine Benachrichtigung über eingehende Anrufe anzugeben.
[in] NetBufferLists
Ein Zeiger auf eine verknüpfte Liste von NET_BUFFER_LIST Strukturen. Der Miniporttreiber hat die NET_BUFFER_LIST Strukturen in früheren Aufrufen seiner MiniportCoSendNetBufferLists-Funktion .
[in] SendCompleteFlags
NDIS-Flags, die mit einem bitweisen OR-Vorgang kombiniert werden können. Um alle Flags zu löschen, legen Sie diesen Parameter auf 0 fest. NdisMCoSendNetBufferListsComplete unterstützt das NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL-Flag. wenn festgelegt, gibt an, dass die aktuelle IRQL DISPATCH_LEVEL ist. Weitere Informationen zu diesem Flag finden Sie unter Dispatch IRQL Tracking.
Rückgabewert
Keine
Bemerkungen
Ein Miniporttreiber ruft NdisMCoSendNetBufferListsComplete auf, um die Von NDIS an den Fahrer gesendeten Anforderungen abzuschließen. MiniportCoSendNetBufferLists-Funktion . Der Miniporttreiber gibt eine verknüpfte Liste von NET_BUFFER_LIST Strukturen an, die den abgeschlossenen Sendeanforderungen zugeordnet sind.
Während die status der Sendeanforderungen ausstehend ist, behält der Miniporttreiber den Besitz an den NET_BUFFER_LIST-Strukturen und allen Ressourcen, die den NET_BUFFER_LIST-Strukturen zugeordnet sind.
Nachdem ein Miniporttreiber NdisMCoSendNetBufferListsComplete aufgerufen hat, gibt NDIS die NET_BUFFER_LIST Strukturen und zugeordneten Daten an den überlastenden Treiber zurück, der die Sendeanforderung ausgelöst hat.
Der Miniporttreiber kann Sendeanforderungen in beliebiger Reihenfolge ausführen. Beispielsweise könnte der Miniporttreiber die NET_BUFFER_LIST-Strukturlisten aus mehreren MiniportCoSendNetBufferLists-Aufrufen verketten oder eine Liste aus einem MiniportCoSendNetBufferLists-Aufruf aufteilen. Der Miniporttreiber darf jedoch die Liste der NET_BUFFER Strukturen, die einer NET_BUFFER_LIST-Struktur zugeordnet sind, nicht ändern.
Der Miniporttreiber muss einen der folgenden status Codes im Statuselement jeder NET_BUFFER_LIST Struktur festlegen, die der NetBufferLists-Parameter angibt:
Der Aufruf eines Miniporttreibers an NdisMCoSendNetBufferListsComplete bedeutet nicht unbedingt, dass die Daten für eine Sendeanforderung über das Netzwerk übertragen wurden. Beispielsweise können die Daten in der NIC-Hardware in eine Warteschlange gestellt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Desktop |
Kopfzeile | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | Irql_MCO_Function(ndis) |