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 |
---|---|
|
El objeto CQ se creó correctamente y se devolvió con el parámetro *ppNdkCq . |
|
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. |
|
Error en la solicitud porque el valor de CqDepth solicitado es mayor que el valor MaxCqDepth especificado en la estructura NDK_ADAPTER_INFO . |
|
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.
|
|
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
Requisitos de duración del objeto NDKPI