Freigeben über


OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE

NDIS-Protokolltreiber stellen Objektbezeichner(OID)-Methodenanforderungen von OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE aus, um den Miniporttreiber zu benachrichtigen, dass eine Zuordnung für den aktuellen Batch von Empfangswarteschlangen abgeschlossen wurde.

Das InformationBuffer Mitglied der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf eine NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY Struktur, auf die eine NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS Struktur für jede Warteschlange folgt. Nach einer erfolgreichen Rückgabe aus der OID-Methodenanforderung enthält das InformationBuffer Element der NDIS_OID_REQUEST-Struktur einen Zeiger auf dasselbe Array von Strukturen, und das CompletionStatus Member jeder NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS Struktur enthält den Abschlussstatus für jede Warteschlange.

Bemerkungen

Die OID-Methodenanforderung von OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE ist optional für NDIS 6.20 und höhere Miniporttreiber. Es ist obligatorisch für Miniporttreiber, die die VMQ-Schnittstelle (Virtual Machine Queue) unterstützen.

Nachdem sie eine oder mehrere Empfangswarteschlangen zugewiesen und optional die anfänglichen Filter festgelegt haben, muss der Protokolltreiber die OID-Methodenanforderung von OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE ausgeben, um den Miniporttreiber darüber zu informieren, dass die Zuordnung für den aktuellen Batch von Empfangswarteschlangen abgeschlossen wurde. Auf diese Weise kann der Miniporttreiber die Hardwareressourcen zwischen mehreren Empfangswarteschlangen ausgleichen; bei Bedarf können Ressourcen wie freigegebener Speicher für die Empfangswarteschlangen zugeordnet werden.

Nachdem ein Miniporttreiber eine OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE Anforderung empfängt und filtert, die in der Warteschlange festgelegt sind, befindet sich die Warteschlange im Zustand "Ausführen". In diesem Zustand kann der Miniporttreiber Hinweise auf Pakete in der Warteschlange starten, indem NdisMIndicateReceiveNetBufferListsaufgerufen wird.

Rückgabestatuscodes

Der Miniporttreiber gibt einen der folgenden Statuscodes für die OID-Methodenanforderung von OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE zurück.

Statuscode Beschreibung

NDIS_STATUS_SUCCESS

Die Warteschlangenzuweisung wurde abgeschlossen. Der Informationspuffer enthält die aktualisierten NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY Struktur- und Parameterstrukturen mit dem Abschlussstatus für die Warteschlangenzuordnung.

NDIS_STATUS_PENDING

Die Anforderung steht aus. Der endgültige Statuscode und die Ergebnisse werden an den OID-Anforderungsabschlusshandler des Aufrufers übergeben.

NDIS_STATUS_INVALID_PARAMETER

Mindestens einer der Parameter, die der bereitgestellte Überlauftreiber war ungültig.

NDIS_STATUS_INVALID_LENGTH

Der Informationspuffer war zu kurz. NDIS legt den DATA-fest.METHOD_INFORMATION.BytesNeededed Member in der NDIS_OID_REQUEST Struktur auf die erforderliche Mindestpuffergröße.

NDIS_STATUS_NOT_SUPPORTED

Die NDIS-Version des Miniporttreibers ist älter als Version 6.20.

NDIS_STATUS_FAILURE

Fehler bei der Anforderung aus anderen Gründen.

Anforderungen

Version

Unterstützt in NDIS 6.20 und höher.

Kopfball

Ntddndis.h (include Ndis.h)

Siehe auch

NdisMIndicateReceiveNetBufferLists

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS