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 (Shared Receive Queue Queue) NDK.

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 completamenti delle richieste (NDK_CQ).

[in] pInitiatorCq

Puntatore a un CQ da usare per i completamenti delle richieste di iniziatore.

[in] pSrq

Puntatore a un oggetto SRQ (Shared Receive Queue) NDK (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 inviate su questo QP.

[in] InitiatorQueueDepth

Numero massimo di richieste di iniziatore che possono essere in sospeso rispetto al QP. Questo valore deve essere minore o uguale al valore nella MaxInitiatorQueueDepth membro 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 nella MaxInitiatorRequestSge membro 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 nella 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 restituito dal 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 nella CreateCompletion parametro(NDK_FN_CREATE_COMPLETION) per completare l'operazione in sospeso.
STATUS_INVALID_PARAMETER
La richiesta non è riuscita perché il richiesto 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.

Osservazioni

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 iniziatore. La coda di ricezione viene usata per pubblicare le richieste di ricezione. Una coda di iniziatori viene usata per avviare richieste di invio, associazione, registrazione rapida, lettura, scrittura e invalidamento.

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.

Fabbisogno

Requisito Valore
client minimo supportato Nessuna supportata, supportata in NDIS 6.30 e versioni successive.
server minimo supportato Windows Server 2012
piattaforma di destinazione Finestre
intestazione ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

Vedere anche

requisiti di durata dell'oggetto NDKPI

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_CREATE_COMPLETION

NDK_PD

NDK_QP

NDK_RESULT

NDK_SRQ