Condividi tramite


NDK_FN_CREATE_QP_WITH_SRQ funzione di callback (ndkpi.h)

La funzione NdkCreateQpWithSrq (NDK_FN_CREATE_QP_WITH_SRQ) crea un oggetto QP (NDK Queue Pair) con un oggetto SRQ (NDK Shared Receive Queue).

Sintassi

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
)
{...}

Parametri

[in] pNdkPd

Puntatore a un oggetto PD (NDK Protection Domain) (NDK_PD).

[in] pReceiveCq

Puntatore a una coda di completamento (CQ) da usare per ricevere i completamento delle richieste (NDK_CQ).

[in] pInitiatorCq

Puntatore a un CQ da usare per i completamento delle richieste dell'iniziatore.

[in] pSrq

Puntatore a un oggetto SRQ (NDK Shared Receive Queue) (NDK_SRQ) per pubblicare le richieste di ricezione.

[in, optional] QPContext

Valore di contesto da restituire nel membro QPContext della struttura di NDK_RESULT per tutte le richieste pubblicate su questo QP.

[in] InitiatorQueueDepth

Numero massimo di richieste di iniziatori che possono essere in sospeso su QP. Questo valore deve essere minore o uguale al valore nel membro MaxInitiatorQueueDepth della struttura NDK_ADAPTER_INFO .

[in] MaxInitiatorRequestSge

Numero massimo di SGEs che possono essere supportati in una singola richiesta di iniziatore. Questo valore deve essere minore o uguale al valore nel membro MaxInitiatorRequestSge della struttura NDK_ADAPTER_INFO.

[in] InlineDataSize

Quantità massima di dati inline in byte che possono essere inviati in una singola richiesta di invio o scrittura. Questo valore deve essere minore o uguale al valore nel membro MaxInlineDataSize della struttura NDK_ADAPTER_INFO.

[in] CreateCompletion

Puntatore a una funzione NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) che completa la creazione di un oggetto NDK.

[in, optional] RequestContext

Valore di contesto passato al provider NDK alla funzione NdkCreateCompletion specificata nel parametro CreateCompletion .

ppNdkQp

Un puntatore a un oggetto QP creato (NDK_QP) viene restituito in questa posizione se la richiesta ha esito positivo senza restituire STATUS_PENDING. Se la richiesta restituisce STATUS_PENDING, questo parametro viene ignorato e l'oggetto creato viene restituito con il callback specificato nel parametro CreateCompletion .

Valore restituito

La funzione NdkCreateQpWithSrq restituisce uno dei codici NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
L'oggetto QP è stato creato correttamente e restituito con il parametro *ppNdkQp .
STATUS_PENDING
L'operazione è in sospeso e verrà completata in un secondo momento. Il provider chiamerà la funzione specificata nel parametro CreateCompletion (NDK_FN_CREATE_COMPLETION) per completare l'operazione in sospeso.
STATUS_INVALID_PARAMETER
La richiesta non è riuscita perché la richiesta InitiatorQueueDepth, MaxInitiatorRequestSge o InlineDataSize non rientra nei limiti specificati nella struttura NDK_ADAPTER_INFO .
STATUS_INSUFFICIENT_RESOURCES
La richiesta non è riuscita a causa di risorse insufficienti.
Importante La richiesta può non riuscire inline e in modo asincrono con questo codice di stato.
 
Altri codici di stato
Si è verificato un errore.

Commenti

La funzione NdkCreateQpWithSrq crea un oggetto QP (NDK Queue Pair) con una coda di ricezione condivisa (SRQ). Un QP è costituito da una coda di ricezione e da una coda di iniziatori. La coda di ricezione viene usata per pubblicare le richieste di ricezione. Viene usata una coda di iniziatori per l'avvio di richieste send, bind, fast-register, read, write e invalidate.

Se la funzione restituisce STATUS_SUCCESS, l'oggetto creato viene restituito nel parametro ppNdkQp . Se NdkCreateQpWithSrq restituisce STATUS_PENDING, l'oggetto creato viene restituito dalla funzione NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) specificata nel parametro CreateCompletion .

Requisiti

Requisito Valore
Client minimo supportato Nessuna supportata, supportata in NDIS 6.30 e versioni successive.
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Windows
Intestazione ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

Vedi anche

Requisiti di durata dell'oggetto ND KPI

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_CREATE_COMPLETION

NDK_PD

NDK_QP

NDK_RESULT

NDK_SRQ