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

La función NdkCreateQp (NDK_FN_CREATE_QP) crea un objeto de par de cola NDK (QP).

Sintaxis

NDK_FN_CREATE_QP NdkFnCreateQp;

NTSTATUS NdkFnCreateQp(
  [in]           NDK_PD *pNdkPd,
  [in]           NDK_CQ *pReceiveCq,
  [in]           NDK_CQ *pInitiatorCq,
  [in, optional] PVOID QPContext,
  [in]           ULONG ReceiveQueueDepth,
  [in]           ULONG InitiatorQueueDepth,
  [in]           ULONG MaxReceiveRequestSge,
  [in]           ULONG MaxInitiatorRequestSge,
  [in]           ULONG InlineDataSize,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_QP **ppNdkQp
)
{...}

Parámetros

[in] pNdkPd

Puntero a un objeto de dominio de protección NDK (PD) (NDK_PD).

[in] pReceiveCq

Puntero a una cola de finalización (CQ) que se va a usar para las finalizaciones de solicitudes de recepción (NDK_CQ).

[in] pInitiatorCq

Puntero a un CQ que se va a usar para las finalizaciones de solicitudes del iniciador.

[in, optional] QPContext

Valor de contexto que se va a devolver en el miembro QPContext de la estructura NDK_RESULT para todas las solicitudes publicadas en este QP.

[in] ReceiveQueueDepth

Número máximo de solicitudes de recepción que pueden estar pendientes en el QP. Este valor debe ser menor o igual que el valor del miembro MaxReceiveQueueDepth de la estructura NDK_ADAPTER_INFO .

[in] InitiatorQueueDepth

Número máximo de solicitudes de iniciador que pueden estar pendientes en el QP. Este valor debe ser menor o igual que el valor del miembro MaxInitiatorQueueDepth de la estructura NDK_ADAPTER_INFO.

[in] MaxReceiveRequestSge

Número máximo de SGE que se pueden admitir en una única solicitud de recepción. Este valor debe ser menor o igual que el valor del miembro MaxReceiveRequestSge de la estructura NDK_ADAPTER_INFO.

[in] MaxInitiatorRequestSge

Número máximo de SGE que se pueden admitir en una única solicitud de iniciador. Este valor debe ser menor o igual que el valor del miembro MaxInitiatorRequestSge de la estructura NDK_ADAPTER_INFO.

[in] InlineDataSize

Cantidad máxima de datos insertados en bytes que se pueden enviar en una única solicitud de envío o escritura. Este valor debe ser menor o igual que el valor del miembro MaxInlineDataSize de la estructura NDK_ADAPTER_INFO.

[in] CreateCompletion

Puntero a una función NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) que completa la creación de un objeto NDK.

[in, optional] RequestContext

Valor de contexto que el proveedor NDK pasa de nuevo a la función NdkCreateCompletion especificada en el parámetro CreateCompletion .

ppNdkQp

Se devuelve un puntero a un objeto QP creado (NDK_QP) en esta ubicación si la solicitud se realiza correctamente sin devolver STATUS_PENDING. Si la solicitud devuelve STATUS_PENDING, este parámetro se omite y el objeto creado se devuelve con la devolución de llamada especificada en el parámetro CreateCompletion .

Valor devuelto

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

Código devuelto Descripción
STATUS_SUCCESS
El objeto QP se creó correctamente y se devolvió con el parámetro *ppNdkQp .
STATUS_PENDING
La operación está pendiente y se completará más adelante. El proveedor llamará a la función especificada en el parámetro CreateCompletion (NDK_FN_CREATE_COMPLETION) para completar la operación pendiente.
STATUS_INVALID_PARAMETER
Error en la solicitud porque receiveQueueDepth solicitado, InitiatorQueueDepth, MaxReceiveRequestSge, MaxInitiatorRequestSge o InlineDataSize no están dentro de los límites especificados en la estructura NDK_ADAPTER_INFO .
STATUS_INSUFFICIENT_RESOURCES
Error en la solicitud debido a recursos insuficientes.
Importante La solicitud puede producir un error en línea, así como de forma asincrónica con este código de estado.
 
Otros códigos de estado
Se produjo un error.

Comentarios

La función NdkCreateQp crea un par de cola NDK (QP). Un QP consta de una cola de recepción y una cola del iniciador. La cola de recepción se usa para publicar solicitudes de recepción. Se usa una cola del iniciador para iniciar solicitudes de envío, enlace, registro rápido, lectura, escritura e invalidación.

Si la función devuelve STATUS_SUCCESS, el objeto creado se devuelve en el parámetro ppNdkQp . Si NdkCreateQp devuelve STATUS_PENDING, la función NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) que se especifica en el parámetro CreateCompletion devuelve el objeto creado.

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

Requisitos de duración del objeto NDKPI

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_CREATE_COMPLETION

NDK_PD

NDK_QP

NDK_RESULT