Freigeben über


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
STATUS_SUCCESS
Das QP-Objekt wurde erfolgreich erstellt und mit dem *ppNdkQp-Parameter zurückgegeben.
STATUS_PENDING
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.
STATUS_INVALID_PARAMETER
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.
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 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

Weitere Informationen

Anforderungen an die Lebensdauer des NDKPI-Objekts

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_CREATE_COMPLETION

NDK_PD

NDK_QP

NDK_RESULT

NDK_SRQ