Freigeben über


NdisMCoIndicateReceiveNetBufferLists-Funktion (ndis.h)

Die NdisMCoIndicateReceiveNetBufferLists Funktion gibt an, dass der Miniporttreiber Daten aus dem Netzwerk empfangen hat.

Syntax

void NdisMCoIndicateReceiveNetBufferLists(
  [in] IN NDIS_HANDLE      NdisVcHandle,
  [in] IN PNET_BUFFER_LIST NetBufferLists,
  [in] IN ULONG            NumberOfNetBufferLists,
  [in] IN ULONG            CoReceiveFlags
);

Parameter

[in] NdisVcHandle

Ein Handle, das eine virtuelle Verbindung (VC) identifiziert. Der Miniporttreiber hat dieses Handle als Eingabeparameter für seine MiniportCoCreateVc--Funktion erhalten, entweder wenn ein Client einen ausgehenden Anruf einrichtet oder wenn der Anrufmanager eine VC für einen client registrierten Dienstzugriffspunkt (SAP) erstellt hat, um eine eingehende Anrufbenachrichtigung anzuzeigen.

[in] NetBufferLists

Eine verknüpfte Liste der NET_BUFFER_LIST Strukturen, die der Miniporttreiber zugewiesen hat.

[in] NumberOfNetBufferLists

Die Anzahl der NET_BUFFER_LIST Strukturen, die sich in der verknüpften Liste der Strukturen befinden, die NetBufferLists- angibt.

[in] CoReceiveFlags

Flags, die Attribute für den Sendevorgang definieren. Die Flags können mit einem bitweisen OR-Vorgang kombiniert werden. Um alle Flags zu löschen, legen Sie diesen Parameter auf Null fest. NdisMCoIndicateReceiveNetBufferLists unterstützt die folgenden Flags:

NDIS_RECEIVE_FLAGS_DISPATCH_LEVEL

Die aktuelle IRQL ist DISPATCH_LEVEL. Weitere Informationen zu diesem Kennzeichen finden Sie unter IRQL Tracking.

NDIS_RECEIVE_FLAGS_RESOURCES

Der Miniport-Treiber übernimmt den Besitz der NET_BUFFER_LIST Strukturen und alle angefügten NET_BUFFER Strukturen unmittelbar nach NdisMCoIndicateReceiveNetBufferLists zurückgegeben.

Rückgabewert

Nichts

Bemerkungen

Ein Miniporttreiber ruft in der Regel die NdisMCoIndicateReceiveNetBufferLists Funktion aus der MiniportInterruptDPC--Funktion auf. Wenn ein Miniporttreiber NdisMCoIndicateReceiveNetBufferListsaufruft, gibt er eine Liste der NET_BUFFER_LIST Strukturen im NetBufferLists Parameter an. Anschließend übergibt NDIS die NET_BUFFER_LIST Strukturen an gebundene Protokolltreiber.

Miniport-Treiber müssen den SourceHandle- Member jeder NET_BUFFER_LIST Struktur auf denselben Wert wie der NdisVcHandle-Parameter festlegen, damit NDIS die NET_BUFFER_LIST Strukturen an den richtigen Miniporttreiber zurückgeben kann.

Wenn ein Miniporttreiber NdisMCoIndicateReceiveNetBufferLists aufruft und das NDIS_RECEIVE_FLAGS_RESOURCES Flag im CoReceiveFlags-Parameter löscht, gibt NDIS die NET_BUFFER_LIST Strukturen zurück, die netBufferLists für den Miniporttreiber angibt. MiniportReturnNetBufferLists Funktion. In diesem Fall darf der Miniporttreiber die NET_BUFFER_LIST Strukturen erst zurückfordern, wenn NDIS die NET_BUFFER_LIST Strukturen an die MiniportReturnNetBufferLists Funktion zurückgibt.

Wenn ein Miniporttreiber NdisMCoIndicateReceiveNetBufferLists aufruft und das NDIS_RECEIVE_FLAGS_RESOURCES Flag im CoReceiveFlags Parameter festlegt, muss der Miniporttreiber den Besitz der NET_BUFFER_LIST Strukturen sofort wieder erlangen. In diesem Fall ruft NDIS die Miniport-Treiber-Funktion nicht auf, um die NET_BUFFER_LIST Strukturen zurückzugeben. Stattdessen gibt NDIS die NET_BUFFER_LIST Strukturen an den Miniporttreiber zurück, wenn NdisMCoIndicateReceiveNetBufferLists zurückgibt. Der Miniporttreiber sollte die NET_BUFFER_LIST Strukturen unmittelbar nach NdisMCoIndicateReceiveNetBufferLists zurückfordern, zurückgegeben wird. Um die NET_BUFFER_LIST Strukturen zurückzufordern, kann ein Miniporttreiber eigene MiniportReturnNetBufferLists Funktion.

Wenn ein Miniporttreiber das NDIS_RECEIVE_FLAGS_RESOURCES Flag im CoReceiveFlags Parameter festlegt, müssen die Protokolltreiber die Netzwerkdaten kopieren und die NET_BUFFER_LIST Strukturen an den Miniporttreiber freigeben. Sie sollten Ihre Miniporttreiber mit ausreichend vorverteilten NET_BUFFER_LIST Strukturen entwerfen, um unnötiges Kopieren zu vermeiden.

Der Aufrufer von NdisMCoIndicateReceiveNetBufferLists muss die NET_BUFFER_LIST Strukturen, die angefügten NET_BUFFER Strukturen und alle angefügten Speicherdeskriptorlisten (MDLs) ordnungsgemäß initialisieren.

Anforderungen

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

Siehe auch

MiniportCoCreateVc

MiniportInterruptDPC-

MiniportReturnNetBufferLists

NET_BUFFER

NET_BUFFER_LIST