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 |
---|---|
|
Das CQ-Objekt wurde erfolgreich erstellt und mit dem Parameter "*ppNdkCq" *ppNdkCq zurückgegeben. |
|
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. |
|
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. |
|
Fehler bei der Anforderung aufgrund unzureichender Ressourcen.
Wichtig Die Anforderung kann inline und asynchron mit diesem Statuscode fehlschlagen.
|
|
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
anforderungen für NDKPI-Objektlebensdauer