Поделиться через


функция обратного вызова NDK_FN_ACCEPT (ndkpi.h)

Функция NdkAccept (NDK_FN_ACCEPT) принимает входящий запрос подключения через объект прослушивателя.

Синтаксис

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
)
{...}

Параметры

[in] pNdkConnector

Указатель на объект соединителя NDK (NDK_CONNECTOR).

[in] pNdkQp

Указатель на объект пары очередей NDK (QP) (NDK_QP) для связывания с подключением.

[in] InboundReadLimit

Предоставленное потребителем максимальное количество входящих операций чтения в ходе выполнения, разрешаемых на QP. Если базовый поставщик имеет более низкую значение MaxInboundReadLimit в структуре NDK_ADAPTER_INFO, поставщик будет заверять значение, предоставленное потребителем, максимальное значение поставщика. Если одноранговый узел имеет меньшее значение OutboundReadLimit, поставщик будет использовать это значение в качестве эффективного InboundReadLimit. Потребитель может получить действующий InboundReadLimit путем вызова функции NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).

[in] OutboundReadLimit

Предоставленное потребителем максимальное количество исходящих операций чтения в ходе выполнения, разрешаемое на QP. Если базовый поставщик имеет более низкую значение MaxOutboundReadLimit в структуре NDK_ADAPTER_INFO, поставщик будет ограничить предоставленное потребителем значение максимальное значение поставщика. Если одноранговый узел имеет более низкий InboundReadLimit, поставщик будет использовать это значение в качестве эффективной OutboundReadLimit. Потребитель может получить действующий OutboundReadLimit путем вызова функции NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).

[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData

Указатель на частные данные, отправляемые обратно с запросом на прием.

[in] PrivateDataLength

Длина в байтах частных данных, предоставляемых в параметре pPrivateData.

[in, optional] DisconnectEvent

Точка входа для необязательной функции обратного вызова уведомлений NdkDisconnectEventCallback (NDK_FN_DISCONNECT_EVENT_CALLBACK). Поставщик вызывает эту функцию обратного вызова при отключении однорангового узла.

[in, optional] DisconnectEventContext

Значение контекста для передачи в параметр DisconnectEventContext функции обратного вызова, указанной в параметре DisconnectEvent.

[in] RequestCompletion

Указатель на подпрограмму обратного вызова завершения запроса NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).

[in, optional] RequestContext

Значение контекста, передаваемое параметру контекста функции обратного вызова, указанной в параметре RequestCompletion.

Возвращаемое значение

Функция NDK_FN_ACCEPT возвращает один из следующих кодов NTSTATUS.

Возвращаемый код Описание
STATUS_SUCCESS
Операция успешно завершена.
STATUS_PENDING
Операция ожидается и будет завершена позже. Драйвер вызовет указанную функцию RequestCompletion (NDK_FN_REQUEST_COMPLETION) для завершения ожидающей операции.
STATUS_CONNECTION_ABORTED
Соединительный узел отказался от ожидающего создания подключения.
STATUS_IO_TIMEOUT
Одноранговый узел не вызвал функцию CompleteConnect (NDK_FN_COMPLETE_CONNECT) для завершения ожидающего запроса на подключение.
Другие коды состояния
Произошла ошибка.

Замечания

Потребитель NDK вызывает NdkAccept принять входящие запросы на подключение через объект прослушивателя.

Функция (NDK_FN_CREATE_LISTENER) NdkCreateListener создает объект прослушивателя NDK и предоставляет функцию NdkConnectEventCallback (NDK_FN_CONNECT_EVENT_CALLBACK).

Функция NdkConnectEventCallback используется поставщиком NDK для уведомления потребителя о каждом входящего запроса на подключение.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях.
минимальный поддерживаемый сервер Windows Server 2012
целевая платформа Виндоус
заголовка ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

См. также

требования к времени существования объекта 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