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 |
---|---|
|
Das SRQ-Objekt wurde erfolgreich erstellt und mit dem Parameter *ppNdkSrq zurückgegeben. |
|
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. |
|
Die Anforderung ist fehlgeschlagen, weil der angeforderte SrqDepth - oder MaxReceiveRequestSge-Wert nicht innerhalb der in der NDK_ADAPTER_INFO-Struktur angegebenen Grenzwerte liegt. |
|
Fehler bei der Anforderung aufgrund unzureichender Ressourcen.
Wichtig Die Anforderung kann sowohl inline als auch asynchron mit diesem status Code fehlschlagen.
|
|
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
Anforderungen an die Lebensdauer des NDKPI-Objekts