Freigeben über


NDK_FN_CREATE_QP_WITH_SRQ Rückruffunktion (ndkpi.h)

Die NdkCreateQpWithSrq (NDK_FN_CREATE_QP_WITH_SRQ) -Funktion erstellen ein NDK-Warteschlangenpaarobjekt (QP) mit einem NDK Shared Receive Queue (SRQ)-Objekt.

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 NDK-Schutzdomänenobjekt (PD) (NDK_PD).

[in] pReceiveCq

Ein Zeiger auf eine Abschlusswarteschlange (CQ), die zum Empfangen von Anforderungsabschlussen verwendet werden soll (NDK_CQ).

[in] pInitiatorCq

Ein Zeiger auf ein CQ, das für Initiatoranforderungserledigungen verwendet werden soll.

[in] pSrq

Ein Zeiger auf ein NDK shared receive queue (SRQ)-Objekt (NDK_SRQ) zum Posten von Empfangsanforderungen.

[in, optional] QPContext

Ein Kontextwert, der im QPContext Member der NDK_RESULT-Struktur für alle Anforderungen zurückgegeben wird, die über diesen QP bereitgestellt 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 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 in der 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 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- (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.

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 parameter CreateCompletion angegeben ist.

Rückgabewert

Die NdkCreateQpWithSrq-Funktion 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
Fehler bei der Anforderung, da die angeforderte InitiatorQueueDepth, MaxInitiatorRequestSge oder InlineDataSize- nicht innerhalb der in der NDK_ADAPTER_INFO Struktur angegebenen Grenzwerte liegt.
STATUS_INSUFFICIENT_RESOURCES
Fehler bei der Anforderung aufgrund unzureichender Ressourcen.
Wichtig Die Anforderung kann inline und asynchron mit diesem Statuscode fehlschlagen.
 
Andere Statuscodes
Fehler.

Bemerkungen

Die NdkCreateQpWithSrq-Funktion erstellt ein NDK-Warteschlangenpaar (QP)-Objekt mit einer freigegebenen Empfangswarteschlange (SRQ). Ein QP besteht aus einer Empfangswarteschlange und einer Initiatorwarteschlange. Die Empfangswarteschlange wird verwendet, um Empfangsanfragen zu posten. Eine Initiatorwarteschlange wird zum Initiieren von Sende-, Bindungs-, Schnellregister-, Lese-, Schreib- und ungültigen Anforderungen 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 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

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_CREATE_COMPLETION

NDK_PD

NDK_QP

NDK_RESULT

NDK_SRQ