Compartir a través de


NDK_FN_READ función de devolución de llamada (ndkpi.h)

La función NdkRead (NDK_FN_READ) publica una solicitud de lectura en un par de colas de NDK (QP).

Sintaxis

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

Parámetros

[in] pNdkQp

Puntero a un par de colas NDK (QP) (NDK_QP).

[in, optional] RequestContext

Valor de contexto que se va a devolver en el miembro RequestContext de la estructura NDK_RESULT para esta solicitud.

pSgl

Matriz de estructuras SGE (NDK_SGE) que representan los búferes en los que colocar los datos entrantes.

[in] nSge

Número de estructuras SGE de la matriz especificada en el parámetro pSgl .

[in] RemoteAddress

Dirección remota desde la que se va a leer que se presenta en el orden de bytes del host local. El consumidor de NDK puede agregar un desplazamiento al valor proporcionado de forma remota.

[in] RemoteToken

Token de memoria proporcionado de forma remota que es una matriz opaca de bytes del consumidor de NDK.

[in] Flags

OR bit a bit de marcas que especifica las operaciones permitidas. Se admiten las marcas siguientes:

Valor Significado
NDK_OP_FLAG_SILENT_SUCCESS
0x00000001
Indica que la finalización correcta de esta solicitud no genera un evento de finalización en la cola de finalización de salida. Sin embargo, las solicitudes que producen un error generan un evento en la cola de finalización.
NDK_OP_FLAG_READ_FENCE
0x00000002
Indica que todas las solicitudes de lectura anteriores deben completarse antes de que el hardware comience a procesar esta solicitud.
NDK_OP_FLAG_RDMA_READ_LOCAL_INVALIDATE
0x00000200
Si se establece esta marca y el proveedor también notifica NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED funcionalidad del adaptador en la estructura de NDK_ADAPTER_INFO , la finalización correcta de la función NdkRead significa que se invalida el primer búfer especificado en el parámetro pSgl . La finalización incorrecta deja el búfer y el token en un estado indefinido. Esta marca se omite si el proveedor no notifica NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED funcionalidad del adaptador en la estructura NDK_ADAPTER_INFO .

Nota Esta marca solo se admite en NDKPI 1.2 (Windows Server 2012 R2) y versiones posteriores.

NDK_OP_FLAG_DEFER
0x00000200
Indica al proveedor NDK que puede aplazar la solicitud al hardware para su procesamiento. Para obtener más información sobre esta marca, vea Esquema de procesamiento diferido de NDKPI.

Nota Esta marca solo se admite en NDKPI 1.2 (Windows Server 2012 R2) y versiones posteriores.

Valor devuelto

La función NdkRead devuelve uno de los siguientes códigos NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
La solicitud se publicó correctamente. Una entrada de finalización se pondrá en cola en el CQ cuando se complete la solicitud de trabajo.
STATUS_CONNECTION_INVALID
El QP no está conectado.
STATUS_REMOTE_RESOURCES
La solicitud intentó leer más allá del tamaño de la memoria remota.
Otros códigos de estado
Se produjo un error.

Comentarios

NdkRead publica una solicitud de lectura en un par de colas (QP).

Requisitos

Requisito Value
Cliente mínimo compatible Ninguno compatible, compatible con NDIS 6.30 y versiones posteriores.
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Windows
Encabezado ndkpi.h (incluya Ndkpi.h)
IRQL <=DISPATCH_LEVEL

Consulte también

Esquema de procesamiento diferido de NDKPI

Requisitos de publicación de solicitudes de trabajo de NDKPI

NDK_ADAPTER_INFO

NDK_FN_ARM_CQ

NDK_QP

NDK_RESULT

NDK_SGE