NDIS_PD_ALLOCATE_QUEUE Rückruffunktion (ndis.h)

Die PacketDirect-Plattform (PD) ruft die NdisPDAllocateQueue-Funktion eines PD-fähigen Miniporttreibers auf, um eine Warteschlange zuzuweisen.

Hinweis Sie müssen die Funktion mit dem NDIS_PD_ALLOCATE_QUEUE-Typ deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.

 

Syntax

NDIS_PD_ALLOCATE_QUEUE NdisPdAllocateQueue;

NTSTATUS() NdisPdAllocateQueue(
  [in] NDIS_PD_PROVIDER_HANDLE ProviderHandle,
  [in] const NDIS_PD_QUEUE_PARAMETERS *QueueParameters,
       NDIS_PD_QUEUE **NdisPDQueue
)
{...}

Parameter

[in] ProviderHandle

Ein Anbieterhandle, das das Anbieterobjekt des PD-fähigen Miniporttreibers identifiziert.

[in] QueueParameters

Alle Parameter, die der Warteschlange zugeordnet sind. Weitere Informationen finden Sie in der NDIS_PD_QUEUE_PARAMETERS-Struktur .

NdisPDQueue

Ein Zeiger auf die Warteschlange, die zugeordnet werden soll. Weitere Informationen finden Sie in der NDIS_PD_QUEUE-Struktur .

Rückgabewert

Diese Funktion gibt STATUS_SUCCESS zurück, wenn sie erfolgreich abgeschlossen ist, andernfalls wird der entsprechende Fehlercode zurückgegeben.

Hinweise

Beispiele

Um eine NdisPDAllocateQueue-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine NdisPDAllocateQueue-Funktion mit dem Namen "MyPDAllocateQueue" zu definieren, verwenden Sie den NDIS_PD_ALLOCATE_QUEUE-Typ , wie in diesem Codebeispiel gezeigt:

NDIS_PD_ALLOCATE_QUEUE MyPDAllocateQueue;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
NTSTATUS
 MyPDAllocateQueue(
    NDIS_PD_PROVIDER_HANDLE  ProviderHandle,
    CONST NDIS_PD_QUEUE_PARAMETERS*  QueueParameters,
    NDIS_PD_QUEUE**  NdisPDQueue
    )
  {...}

Der NDIS_PD_ALLOCATE_QUEUE Funktionstyp ist in der Headerdatei "Ntddndis.h" definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den NDIS_PD_ALLOCATE_QUEUE Funktionstyp in der Headerdatei angewendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.

Informationen zu Use_decl_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Zielplattform Windows
Kopfzeile ndis.h
IRQL PASSIVE_LEVEL