Compartir a través de


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

La función NdkCreateSrq (NDK_FN_CREATE_SRQ) crea un objeto de cola de recepción compartida (SRQ) de NDK.

Sintaxis

NDK_FN_CREATE_SRQ NdkFnCreateSrq;

NTSTATUS NdkFnCreateSrq(
  [in]           NDK_PD *pNdkPd,
  [in]           ULONG SrqDepth,
  [in]           ULONG MaxReceiveRequestSge,
  [in]           ULONG NotifyThreshold,
  [in, optional] NDK_FN_SRQ_NOTIFICATION_CALLBACK SrqNotification,
  [in, optional] PVOID SrqNotificationContext,
  [in, optional] GROUP_AFFINITY *Affinity,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_SRQ **ppNdkSrq
)
{...}

Parámetros

[in] pNdkPd

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

[in] SrqDepth

El número máximo de solicitudes de recepción que pueden estar pendientes sobre el SRQ. Este valor debe ser menor o igual que el valor del miembro MaxSrqDepth especificado en la estructura NDK_ADAPTER_INFO .

[in] MaxReceiveRequestSge

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

[in] NotifyThreshold

Número mínimo de solicitudes de recepción en cola para desencadenar devoluciones de llamada de notificación SRQ.

[in, optional] SrqNotification

Una función opcional NdkSrqNotificationCallback (NDK_FN_SRQ_NOTIFICATION_CALLBACK) a la que llama el proveedor si el recuento de solicitudes de recepción en cola está por debajo del umbral especificado en el parámetro NotifyThreshold .

[in, optional] SrqNotificationContext

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

[in, optional] Affinity

Máscara de afinidad (GROUP_AFFINITY) que especifica procesadores preferidos que el consumidor elegiría ejecutar las devoluciones de llamada NdkSrqNotificationCallback . 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 NdkSrqNotificationCallback 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 a la función NdkCreateCompletion especificada en el parámetro CreateCompletion .

ppNdkSrq

Se devuelve un puntero a un objeto SRQ creado (NDK_SRQ) 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 NdkCreateSrq devuelve uno de los siguientes códigos NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
El objeto SRQ se creó correctamente y se devolvió con el parámetro *ppNdkSrq .
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 srqDepth solicitado o MaxReceiveRequestSge no está 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 NdkCreateSrq crea un objeto de cola de recepción compartida (SRQ) de NDK. Si la función devuelve STATUS_SUCCESS, el objeto creado se devuelve en el parámetro ppNdkSrq . Si NdkCreateSrq 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_INFO

NDK_FN_CREATE_COMPLETION

NDK_FN_SRQ_NOTIFICATION_CALLBACK

NDK_PD

NDK_SRQ