NDK_FN_CREATE_SRQ Rückruffunktion (ndkpi.h)

Die Funktion NdkCreateSrq (NDK_FN_CREATE_SRQ) erstellt ein SRQ-Objekt (Shared Receive Queue).

Syntax

NDK_FN_CREATE_SRQ NdkFnCreateSrq;

NTSTATUS NdkFnCreateSrq(
  [in]           NDK_PD *pNdkPd,
  [in]           ULONG SrqDepth,
  [in]           ULONG MaxReceiveRequestSge,
  [in]           ULONG NotifyThreshold,
  [in, optional] NDK_FN_SRQ_NOTIFICATION_CALLBACK SrqNotification,
  [in, optional] PVOID SrqNotificationContext,
  [in, optional] GROUP_AFFINITY *Affinity,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_SRQ **ppNdkSrq
)
{...}

Parameter

[in] pNdkPd

Ein Zeiger auf ein NDK-Schutzdomänenobjekt (PD) (NDK_PD).

[in] SrqDepth

Die maximale Anzahl von Empfangsanforderungen, die über den SRQ ausstehen können. Dieser Wert muss kleiner oder gleich dem Wert im MaxSrqDepth-Element sein, der in der NDK_ADAPTER_INFO-Struktur angegeben ist.

[in] MaxReceiveRequestSge

Die maximale Anzahl von SGEs, die in einer einzelnen Empfangsanforderung unterstützt werden. Dieser Wert muss kleiner oder gleich dem Wert im MaxReceiveRequestSge-Element sein, der in der NDK_ADAPTER_INFO-Struktur angegeben ist.

[in] NotifyThreshold

Die Mindestanzahl von Empfangsanforderungen in der Warteschlange zum Auslösen von SRQ-Benachrichtigungsrückrufen.

[in, optional] SrqNotification

Eine optionale NdkSrqNotificationCallback-Funktion (NDK_FN_SRQ_NOTIFICATION_CALLBACK), die der Anbieter aufruft, wenn die Anzahl der in die Warteschlange eingereihten Empfangsanforderungen unter den im NotifyThreshold-Parameter angegebenen Schwellenwert fällt.

[in, optional] SrqNotificationContext

Ein Kontextwert, den der NDK-Anbieter an die NdkSrqNotificationCallback-Funktion zurückgibt, die im SrqNotification-Parameter angegeben ist.

[in, optional] Affinity

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

[in] CreateCompletion

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

[in, optional] RequestContext

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

ppNdkSrq

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

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_SUCCESS
Das SRQ-Objekt wurde erfolgreich erstellt und mit dem Parameter *ppNdkSrq zurückgegeben.
STATUS_PENDING
Der Vorgang ist ausstehend 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
Die Anforderung ist fehlgeschlagen, weil der angeforderte SrqDepth - oder MaxReceiveRequestSge-Wert nicht innerhalb der in der NDK_ADAPTER_INFO-Struktur angegebenen Grenzwerte liegt.
STATUS_INSUFFICIENT_RESOURCES
Fehler bei der Anforderung aufgrund unzureichender Ressourcen.
Wichtig Die Anforderung kann sowohl inline als auch asynchron mit diesem status Code fehlschlagen.
 
Andere status Codes
Ein Fehler ist aufgetreten.

Hinweise

Die NdkCreateSrq-Funktion erstellt ein SRQ-Objekt (Shared Receive Queue). Wenn die Funktion STATUS_SUCCESS zurückgibt, wird das erstellte Objekt im ppNdkSrq-Parameter zurückgegeben. Wenn NdkCreateSrq STATUS_PENDING zurückgibt, wird das erstellte Objekt von der im CreateCompletion-Parameter angegebenen Funktion NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) zurückgegeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Keine unterstützt, unterstützt in NDIS 6.30 und höher.
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Windows
Kopfzeile ndkpi.h (Ndkpi.h einschließen)
IRQL <=DISPATCH_LEVEL

Weitere Informationen

GROUP_AFFINITY

Anforderungen an die Lebensdauer des NDKPI-Objekts

NDK_ADAPTER_INFO

NDK_FN_CREATE_COMPLETION

NDK_FN_SRQ_NOTIFICATION_CALLBACK

NDK_PD

NDK_SRQ