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 |
---|---|
|
L'oggetto QP è stato creato correttamente e restituito con il parametro *ppNdkQp. |
|
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. |
|
La richiesta non è riuscita perché il richiesto InitiatorQueueDepth, MaxInitiatorRequestSge o InlineDataSize non rientra nei limiti specificati nella struttura NDK_ADAPTER_INFO. |
|
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.
|
|
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 |