NDK_FN_CREATE_QP_WITH_SRQ Rückruffunktion (ndkpi.h)
Die Funktion NdkCreateQpWithSrq (NDK_FN_CREATE_QP_WITH_SRQ) erstellt ein QP-Objekt (NDK-Warteschlangenpaar) mit einem SRQ-Objekt (NDK Shared Receive Queue).
Syntax
NDK_FN_CREATE_QP_WITH_SRQ NdkFnCreateQpWithSrq;
NTSTATUS NdkFnCreateQpWithSrq(
[in] NDK_PD *pNdkPd,
[in] NDK_CQ *pReceiveCq,
[in] NDK_CQ *pInitiatorCq,
[in] NDK_SRQ *pSrq,
[in, optional] PVOID QPContext,
[in] ULONG InitiatorQueueDepth,
[in] ULONG MaxInitiatorRequestSge,
[in] ULONG InlineDataSize,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_QP **ppNdkQp
)
{...}
Parameter
[in] pNdkPd
Ein Zeiger auf ein PD-Objekt (NDK Protection Domain) (NDK_PD).
[in] pReceiveCq
Ein Zeiger auf eine Vervollständigungswarteschlange (CQ), die für Die Vervollständigung von Empfangsanforderungen (NDK_CQ) verwendet werden soll.
[in] pInitiatorCq
Ein Zeiger auf einen CQ, der für Initiatoranforderungsvervollständigungen verwendet werden soll.
[in] pSrq
Ein Zeiger auf ein SRQ-Objekt (NDK Shared Receive Queue) (NDK_SRQ), um Empfangsanforderungen zu posten.
[in, optional] QPContext
Ein Kontextwert, der im QPContext-Member der NDK_RESULT-Struktur für alle Anforderungen zurückgegeben werden soll, die über diesen QP veröffentlicht werden.
[in] InitiatorQueueDepth
Die maximale Anzahl von Initiatoranforderungen, die über den QP ausstehen können. Dieser Wert muss kleiner oder gleich dem Wert im MaxInitiatorQueueDepth-Member der NDK_ADAPTER_INFO-Struktur sein.
[in] MaxInitiatorRequestSge
Die maximale Anzahl von SGEs, die in einer einzelnen Initiatoranforderung unterstützt werden kann. Dieser Wert muss kleiner oder gleich dem Wert im MaxInitiatorRequestSge-Member der NDK_ADAPTER_INFO-Struktur sein.
[in] InlineDataSize
Die maximale Menge an Inlinedaten in Bytes, die in einer einzelnen Sende- oder Schreibanforderung gesendet werden kann. Dieser Wert muss kleiner oder gleich dem Wert im MaxInlineDataSize-Member der NDK_ADAPTER_INFO-Struktur sein.
[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.
ppNdkQp
Ein Zeiger auf ein erstelltes QP-Objekt (NDK_QP) 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 Funktion NdkCreateQpWithSrq gibt einen der folgenden NTSTATUS-Codes zurück.
Rückgabecode | Beschreibung |
---|---|
|
Das QP-Objekt wurde erfolgreich erstellt und mit dem *ppNdkQp-Parameter 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. |
|
Die Anforderung ist fehlgeschlagen, weil der angeforderte InitiatorQueueDepth, MaxInitiatorRequestSge oder InlineDataSize nicht innerhalb der Grenzwerte liegt, die in der NDK_ADAPTER_INFO-Struktur angegeben sind. |
|
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 NdkCreateQpWithSrq-Funktion erstellt ein QP-Objekt (NDK-Warteschlangenpaar) mit einer shared receive queue (SRQ). Ein QP besteht aus einer Empfangs- und einer Initiatorwarteschlange. Die Empfangswarteschlange wird verwendet, um Empfangsanforderungen zu posten. Eine Initiatorwarteschlange wird zum Initiieren von Sende-, Bindungs-, Schnellregistrierungs-, Lese-, Schreib- und Ungültigschreibungsanforderungen verwendet.
Wenn die Funktion STATUS_SUCCESS zurückgibt, wird das erstellte Objekt im ppNdkQp-Parameter zurückgegeben. Wenn NdkCreateQpWithSrq STATUS_PENDING zurückgibt, wird das erstellte Objekt von der funktion NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) zurückgegeben, die im CreateCompletion-Parameter angegeben ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Keine unterstützt, wird in NDIS 6.30 und höher unterstützt. |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Windows |
Kopfzeile | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |