Condividi tramite


NDK_FN_READ funzione di callback (ndkpi.h)

La funzione NdkRead (NDK_FN_READ) invia una richiesta di lettura in una coppia di code NDK (QP).

Sintassi

NDK_FN_READ NdkFnRead;

NTSTATUS NdkFnRead(
  [in]           NDK_QP *pNdkQp,
  [in, optional] PVOID RequestContext,
                 const NDK_SGE *pSgl,
  [in]           ULONG nSge,
  [in]           UINT64 RemoteAddress,
  [in]           UINT32 RemoteToken,
  [in]           ULONG Flags
)
{...}

Parametri

[in] pNdkQp

Puntatore a un oggetto QP (NDK Queue Pair) (NDK_QP).

[in, optional] RequestContext

Valore di contesto da restituire nel membro RequestContext della struttura NDK_RESULT per questa richiesta.

pSgl

Matrice di strutture SGE (NDK_SGE) che rappresentano i buffer in cui inserire i dati in ingresso.

[in] nSge

Numero di strutture SGE nella matrice specificata nel parametro pSgl .

[in] RemoteAddress

Indirizzo remoto da cui leggere che viene presentato nell'ordine dei byte dell'host locale. Il consumer NDK può aggiungere un offset al valore fornito in remoto.

[in] RemoteToken

Token di memoria fornito in remoto che rappresenta una matrice opaca di byte dal consumer NDK.

[in] Flags

OR bit per bit dei flag che specifica le operazioni consentite. Sono supportati i flag seguenti:

Valore Significato
NDK_OP_FLAG_SILENT_SUCCESS
0x00000001
Indica che il completamento di questa richiesta non genera un evento di completamento nella coda di completamento in uscita. Tuttavia, le richieste che non riescono generano un evento nella coda di completamento.
NDK_OP_FLAG_READ_FENCE
0x00000002
Indica che tutte le richieste di lettura precedenti devono essere completate prima che l'hardware inizi a elaborare questa richiesta.
NDK_OP_FLAG_RDMA_READ_LOCAL_INVALIDATE
0x00000200
Se questo flag è impostato e il provider segnala anche NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED funzionalità dell'adattatore nella struttura NDK_ADAPTER_INFO , il completamento corretto della funzione NdkRead indica che il primo buffer specificato nel parametro pSgl non è valido. Il completamento non riuscito lascia il buffer e il token in uno stato non definito. Questo flag viene ignorato se il provider non segnala NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED funzionalità dell'adattatore nella struttura NDK_ADAPTER_INFO .

Nota Questo flag è supportato solo in NDKPI 1.2 (Windows Server 2012 R2) e versioni successive.

NDK_OP_FLAG_DEFER
0x00000200
Indica al provider NDK che può rinviare la richiesta all'hardware per l'elaborazione. Per altre informazioni su questo flag, vedere Schema di elaborazione posticipato NDKPI.

Nota Questo flag è supportato solo in NDKPI 1.2 (Windows Server 2012 R2) e versioni successive.

Valore restituito

La funzione NdkRead restituisce uno dei codici NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
La richiesta è stata inviata correttamente. Una voce di completamento verrà accodata al CQ al termine della richiesta di lavoro.
STATUS_CONNECTION_INVALID
QP non è connesso.
STATUS_REMOTE_RESOURCES
La richiesta ha tentato di leggere oltre le dimensioni della memoria remota.
Altri codici di stato
Si è verificato un errore.

Commenti

NdkRead pubblica una richiesta di lettura in una coppia di code (QP).

Requisiti

Requisito Valore
Client minimo supportato None supported,Supported in NDIS 6.30 and later.
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Windows
Intestazione ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

Vedi anche

Schema di elaborazione posticipato NDKPI

Requisiti di registrazione delle richieste di lavoro NDKPI

NDK_ADAPTER_INFO

NDK_FN_ARM_CQ

NDK_QP

NDK_RESULT

NDK_SGE