Freigeben über


NDK_FN_CREATE_CQ Rückruffunktion (ndkpi.h)

Die NdkCreateCq- (NDK_FN_CREATE_CQ) -Funktion erstellt ein NDK-Abschlusswarteschlange (CQ)-Objekt.

Syntax

NDK_FN_CREATE_CQ NdkFnCreateCq;

NTSTATUS NdkFnCreateCq(
  [in]           NDK_ADAPTER *pNdkAdapter,
  [in]           ULONG CqDepth,
  [in]           NDK_FN_CQ_NOTIFICATION_CALLBACK CqNotification,
  [in, optional] PVOID CqNotificationContext,
  [in, optional] GROUP_AFFINITY *Affinity,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_CQ **ppNdkCq
)
{...}

Parameter

[in] pNdkAdapter

Ein Zeiger auf ein NDK-Adapterobjekt (NDK_ADAPTER).

[in] CqDepth

Die maximale Anzahl der Vervollständigungseinträge, die das CQ enthalten kann. Dieser Wert muss kleiner oder gleich dem MaxCqDepth- Wert sein, der in der NDK_ADAPTER_INFO-Struktur angegeben ist.

[in] CqNotification

Ein Zeiger auf die NdkCqNotificationCallback--Funktion (NDK_FN_CQ_NOTIFICATION_CALLBACK), die der Anbieter verwendet, um den Verbraucher zu benachrichtigen, wenn Anforderungsabschlusse im CQ in die Warteschlange gestellt werden. Der Anbieter ruft NdkCqNotificationCallback nicht auf, es sei denn, die Verbraucher geben die Benachrichtigung mit der funktion NdkArmCq (NDK_FN_ARM_CQ) an.

[in, optional] CqNotificationContext

Ein Kontextwert, den der NDK-Anbieter an die NdkCqNotificationCallback-Funktion übergibt, die im CqNotification Parameter angegeben ist.

[in, optional] Affinity

Eine Affinitätsmaske (GROUP_AFFINITY), die bevorzugte Prozessoren bereitstellt, die der Verbraucher auswählen würde, um die NdkCqNotificationCallback Rückrufe auszuführen. Anbieter sollten die Prozessoreinstellungen berücksichtigen, wenn ihre zugrunde liegende Hardware dies zulässt, aber Verbraucher können nicht davon ausgehen, dass NdkCqNotificationCallback Rückrufe nur auf den bevorzugten Prozessoren auftreten. Legen Sie Affinity- auf NULL fest, wenn keine bevorzugten Prozessoren vorhanden sind.

[in] CreateCompletion

Ein Zeiger auf eine NdkCreateCompletion- (NDK_FN_CREATE_COMPLETION) -Funktion, die die Erstellung eines NDK-Objekts abschließt.

[in, optional] RequestContext

Ein Kontextwert, den der NDK-Anbieter an die NdkCreateCompletion--Funktion übergibt, die im CreateCompletion-Parameter angegeben ist.

ppNdkCq

Ein Zeiger auf ein CQ-Objekt (Abschlusswarteschlange) (NDK_CQ) wird an diesem Speicherort zurückgegeben, wenn die Anforderung erfolgreich verläuft, ohne STATUS_PENDING zurückzugeben. Wenn NdkCreateCq zurückgibt, STATUS_PENDING dieser Parameter ignoriert wird und das erstellte Objekt mit dem Rückruf zurückgegeben wird, der im CreateCompletion Parameter angegeben ist.

Rückgabewert

Die NDK_FN_CREATE_CQ-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Das CQ-Objekt wurde erfolgreich erstellt und mit dem Parameter "*ppNdkCq" *ppNdkCq zurückgegeben.
STATUS_PENDING
Der Vorgang steht aus und wird später abgeschlossen. Der Anbieter ruft die im CreateCompletion Parameter(NDK_FN_CREATE_COMPLETION) angegebene Funktion auf, um den ausstehenden Vorgang abzuschließen.
STATUS_INVALID_PARAMETER
Fehler bei der Anforderung, da der angeforderte CqDepth- Wert größer als der MaxCqDepth- Wert ist, der in der NDK_ADAPTER_INFO-Struktur angegeben ist.
STATUS_INSUFFICIENT_RESOURCES
Fehler bei der Anforderung aufgrund unzureichender Ressourcen.
Wichtig Die Anforderung kann inline und asynchron mit diesem Statuscode fehlschlagen.
 
Andere Statuscodes
Fehler.

Bemerkungen

Die NdkCreateCq--Funktion erstellt ein NDK-Vervollständigungswarteschlangenobjekt (CQ). Wenn die Funktion STATUS_SUCCESS zurückgibt, wird das erstellte Objekt im ppNdkCq-Parameter zurückgegeben. Wenn NdkCreateCq STATUS_PENDING zurückgibt, wird das erstellte Objekt von der NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) -Funktion zurückgegeben, die im CreateCompletion Parameter angegeben ist.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Keine unterstützt,in NDIS 6.30 und höher unterstützt.
mindestens unterstützte Server- Windows Server 2012
Zielplattform- Fenster
Header- ndkpi.h (include Ndkpi.h)
IRQL- <=DISPATCH_LEVEL

Siehe auch

GROUP_AFFINITY

anforderungen für NDKPI-Objektlebensdauer

NDK_ADAPTER

NDK_ADAPTER_DISPATCH

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_ARM_CQ

NDK_FN_CQ_NOTIFICATION_CALLBACK

NDK_FN_CREATE_COMPLETION