Compartir a través de


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

La función NdkCreateCq (NDK_FN_CREATE_CQ) crea un objeto de cola de finalización de NDK (CQ).

Sintaxis

NDK_FN_CREATE_CQ NdkFnCreateCq;

NTSTATUS NdkFnCreateCq(
  [in]           NDK_ADAPTER *pNdkAdapter,
  [in]           ULONG CqDepth,
  [in]           NDK_FN_CQ_NOTIFICATION_CALLBACK CqNotification,
  [in, optional] PVOID CqNotificationContext,
  [in, optional] GROUP_AFFINITY *Affinity,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_CQ **ppNdkCq
)
{...}

Parámetros

[in] pNdkAdapter

Puntero a un objeto de adaptador NDK (NDK_ADAPTER).

[in] CqDepth

Número máximo de entradas de finalización que puede contener el CQ. Este valor debe ser menor o igual que el valor MaxCqDepth especificado en la estructura NDK_ADAPTER_INFO .

[in] CqNotification

Puntero a la función NdkCqNotificationCallback (NDK_FN_CQ_NOTIFICATION_CALLBACK) que el proveedor usa para notificar al consumidor cuando las finalizaciones de la solicitud se ponen en cola en el CQ. El proveedor no llamará a NdkCqNotificationCallback a menos que el consumidor armó la notificación con la función NdkArmCq (NDK_FN_ARM_CQ).

[in, optional] CqNotificationContext

Valor de contexto que el proveedor NDK pasa de nuevo a la función NdkCqNotificationCallback que se especifica en el parámetro CqNotification .

[in, optional] Affinity

Máscara de afinidad (GROUP_AFFINITY) que proporciona procesadores preferidos que el consumidor elegiría ejecutar las devoluciones de llamada de NdkCqNotificationCallback . Los proveedores deben respetar las preferencias del procesador si su hardware subyacente lo permite, pero los consumidores no pueden suponer que las devoluciones de llamada de NdkCqNotificationCallback solo se producirán en los procesadores preferidos. Establezca Affinity en NULL si no hay procesadores preferidos.

[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 .

ppNdkCq

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

Valor devuelto

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

Código devuelto Descripción
STATUS_SUCCESS
El objeto CQ se creó correctamente y se devolvió con el parámetro *ppNdkCq .
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 el valor de CqDepth solicitado es mayor que el valor MaxCqDepth especificado 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 NdkCreateCq crea un objeto de cola de finalización NDK (CQ). Si la función devuelve STATUS_SUCCESS, el objeto creado se devuelve en el parámetro ppNdkCq . Si NdkCreateCq 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

GROUP_AFFINITY

Requisitos de duración del objeto NDKPI

NDK_ADAPTER

NDK_ADAPTER_DISPATCH

NDK_ADAPTER_INFO

NDK_CQ

NDK_FN_ARM_CQ

NDK_FN_CQ_NOTIFICATION_CALLBACK

NDK_FN_CREATE_COMPLETION