NDK_FN_CREATE_QP Rückruffunktion (ndkpi.h)
Die Funktion NdkCreateQp (NDK_FN_CREATE_QP) erstellt ein QP-Objekt (NDK-Warteschlangenpaar).
Syntax
NDK_FN_CREATE_QP NdkFnCreateQp;
NTSTATUS NdkFnCreateQp(
[in] NDK_PD *pNdkPd,
[in] NDK_CQ *pReceiveCq,
[in] NDK_CQ *pInitiatorCq,
[in, optional] PVOID QPContext,
[in] ULONG ReceiveQueueDepth,
[in] ULONG InitiatorQueueDepth,
[in] ULONG MaxReceiveRequestSge,
[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 NDK-Schutzdomänenobjekt (PD) (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 ein CQ, das für Den Abschluss der Initiatoranforderung verwendet werden soll.
[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 bereitgestellt werden.
[in] ReceiveQueueDepth
Die maximale Anzahl von Empfangsanforderungen, die über den QP ausstehen können. Dieser Wert muss kleiner oder gleich dem Wert im MaxReceiveQueueDepth-Element der NDK_ADAPTER_INFO-Struktur sein.
[in] InitiatorQueueDepth
Die maximale Anzahl von Initiatoranforderungen, die über den QP ausstehen können. Dieser Wert muss kleiner oder gleich dem Wert im MaxInitiatorQueueDepth-Element der NDK_ADAPTER_INFO-Struktur sein.
[in] MaxReceiveRequestSge
Die maximale Anzahl von SGEs, die in einer einzelnen Empfangsanforderung unterstützt werden können. Dieser Wert muss kleiner oder gleich dem Wert im MaxReceiveRequestSge-Element der NDK_ADAPTER_INFO-Struktur sein.
[in] MaxInitiatorRequestSge
Die maximale Anzahl von SGEs, die in einer einzelnen Initiatoranforderung unterstützt werden können. Dieser Wert muss kleiner oder gleich dem Wert im MaxInitiatorRequestSge-Element der NDK_ADAPTER_INFO-Struktur sein.
[in] InlineDataSize
Die maximale Menge an Inlinedaten in Bytes, die in einer einzelnen Sende- oder Schreibanforderung gesendet werden können. Dieser Wert muss kleiner oder gleich dem Wert im MaxInlineDataSize-Element 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 NdkCreateQp-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.
Rückgabecode | Beschreibung |
---|---|
|
Das QP-Objekt wurde erfolgreich erstellt und mit dem Parameter *ppNdkQp 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 die angeforderten ReceiveQueueDepth-, InitiatorQueueDepth-, MaxReceiveRequestSge-, MaxInitiatorRequestSge- oder InlineDataSize-Instanzen nicht innerhalb der in der NDK_ADAPTER_INFO-Struktur angegebenen Grenzwerte liegen. |
|
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 NdkCreateQp-Funktion erstellt ein NDK-Warteschlangenpaar (QP)-Objekt. Ein QP besteht aus einer Empfangswarteschlange 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 NdkCreateQp STATUS_PENDING zurückgibt, wird das erstellte Objekt von der NdkCreateCompletion-Funktion (NDK_FN_CREATE_COMPLETION) zurückgegeben, die im CreateCompletion-Parameter angegeben ist.
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 |