Compartir a través de


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

La función NdkAccept (NDK_FN_ACCEPT) acepta una solicitud de conexión entrante a través de un objeto de agente de escucha.

Sintaxis

NDK_FN_ACCEPT NdkFnAccept;

NTSTATUS NdkFnAccept(
  [in]                                      NDK_CONNECTOR *pNdkConnector,
  [in]                                      NDK_QP *pNdkQp,
  [in]                                      ULONG InboundReadLimit,
  [in]                                      ULONG OutboundReadLimit,
  [_In_reads_bytes_opt_(PrivateDataLength)] const PVOID pPrivateData,
  [in]                                      ULONG PrivateDataLength,
  [in, optional]                            NDK_FN_DISCONNECT_EVENT_CALLBACK DisconnectEvent,
  [in, optional]                            PVOID DisconnectEventContext,
  [in]                                      NDK_FN_REQUEST_COMPLETION RequestCompletion,
  [in, optional]                            PVOID RequestContext
)
{...}

Parámetros

[in] pNdkConnector

Puntero a un objeto de conector NDK (NDK_CONNECTOR).

[in] pNdkQp

Puntero a un par de colas de NDK (QP) (NDK_QP) que se va a asociar a la conexión.

[in] InboundReadLimit

El número máximo proporcionado por el consumidor de las operaciones de lectura en curso entrantes para permitir en el QP. Si el proveedor subyacente tiene un valor MaxInboundReadLimit inferior en la estructura NDK_ADAPTER_INFO , el proveedor limitará el valor proporcionado por el consumidor al máximo del proveedor. Si el elemento del mismo nivel tiene un valor OutboundReadLimit inferior, el proveedor usará ese valor como inboundReadLimit efectivo. El consumidor puede recuperar inboundReadLimit efectivo llamando a la función NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).

[in] OutboundReadLimit

El número máximo proporcionado por el consumidor de las operaciones de lectura en curso salientes para permitir en el QP. Si el proveedor subyacente tiene un valor MaxOutboundReadLimit inferior en la estructura NDK_ADAPTER_INFO , el proveedor limitará el valor proporcionado por el consumidor al máximo del proveedor. Si el elemento del mismo nivel tiene un valor InboundReadLimit inferior, el proveedor usará ese valor como outboundReadLimit efectivo. El consumidor puede recuperar outboundReadLimit efectivo llamando a la función NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).

[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData

Puntero a datos privados que se devuelven con la solicitud accept.

[in] PrivateDataLength

Longitud, en bytes, de los datos privados que se proporcionan en el parámetro pPrivateData .

[in, optional] DisconnectEvent

Un punto de entrada para una función de devolución de llamada de notificación de desconexión opcional NdkDisconnectEventCallback (NDK_FN_DISCONNECT_EVENT_CALLBACK). El proveedor llama a esta función de devolución de llamada cuando el elemento del mismo nivel se desconecta.

[in, optional] DisconnectEventContext

Valor de contexto que se va a pasar al parámetro DisconnectEventContext de la función de devolución de llamada especificada en el parámetro DisconnectEvent .

[in] RequestCompletion

Puntero a una rutina de devolución de llamada de finalización de solicitud NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).

[in, optional] RequestContext

Valor de contexto que se va a pasar al parámetro Context de la función de devolución de llamada que se especifica en el parámetro RequestCompletion .

Valor devuelto

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

Código devuelto Descripción
STATUS_SUCCESS
La operación se ha completado correctamente.
STATUS_PENDING
La operación está pendiente y se completará más adelante. El controlador llamará a la función RequestCompletion (NDK_FN_REQUEST_COMPLETION) especificada para completar la operación pendiente.
STATUS_CONNECTION_ABORTED
El elemento del mismo nivel de conexión abandonó el establecimiento de conexión pendiente.
STATUS_IO_TIMEOUT
El mismo nivel no llamó a la función CompleteConnect (NDK_FN_COMPLETE_CONNECT) para completar la solicitud de conexión pendiente.
Otros códigos de estado
Se produjo un error.

Comentarios

El consumidor de NDK llama a NdkAccept para aceptar una solicitud de conexión entrante a través de un objeto de agente de escucha.

La función NdkCreateListener (NDK_FN_CREATE_LISTENER) crea un objeto de escucha NDK y proporciona una función NdkConnectEventCallback (NDK_FN_CONNECT_EVENT_CALLBACK).

El proveedor de NDK usa la función NdkConnectEventCallback para notificar al consumidor cada solicitud de conexión entrante.

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_CONNECTOR

NDK_CONNECTOR_DISPATCH

NDK_FN_COMPLETE_CONNECT

NDK_FN_CONNECT_EVENT_CALLBACK

NDK_FN_CREATE_LISTENER

NDK_FN_DISCONNECT_EVENT_CALLBACK

NDK_FN_GET_CONNECTION_DATA

NDK_FN_REJECT

NDK_FN_REQUEST_COMPLETION

NDK_QP