NDK_FN_CREATE_SRQ Rückruffunktion (ndkpi.h)
Die NdkCreateSrq- (NDK_FN_CREATE_SRQ) -Funktion erstellt ein NDK Shared Receive Queue (SRQ)-Objekt.
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 Member sein, das in der NDK_ADAPTER_INFO-Struktur angegeben ist.
[in] MaxReceiveRequestSge
Die maximale Anzahl von SGEs, die in einer einzigen Empfangsanforderung unterstützt werden. Dieser Wert muss kleiner oder gleich dem Wert im MaxReceiveRequestSge Member sein, das in der NDK_ADAPTER_INFO-Struktur angegeben ist.
[in] NotifyThreshold
Die mindeste Anzahl der in die Warteschlange eingereihten Empfangsanforderungen für das 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 Anforderungen unter den Schwellenwert fällt, der im NotifyThreshold Parameter angegeben ist.
[in, optional] SrqNotificationContext
Ein Kontextwert, den der NDK-Anbieter an die NdkSrqNotificationCallback-Funktion übergibt, die im SrqNotification Parameter angegeben ist.
[in, optional] Affinity
Eine Affinitätsmaske (GROUP_AFFINITY), die bevorzugte Prozessoren angibt, die der Verbraucher wä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 Verbraucher können nicht davon ausgehen, dass NdkSrqNotificationCallback 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.
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 parameter CreateCompletion 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 " *ppNdkSrq 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 die angeforderte SrqDepth- oder MaxReceiveRequestSge- nicht innerhalb der in der NDK_ADAPTER_INFO Struktur angegebenen Grenzwerte liegt. |
|
Fehler bei der Anforderung aufgrund unzureichender Ressourcen.
Wichtig Die Anforderung kann inline und asynchron mit diesem Statuscode fehlschlagen.
|
|
Fehler. |
Bemerkungen
Die NdkCreateSrq--Funktion erstellt ein NDK Shared Receive Queue (SRQ)-Objekt. 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 vom 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