функция обратного вызова 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

Значение контекста, передаваемое параметру Context функции обратного вызова, указанной в параметре 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 , чтобы принять входящий запрос на подключение через объект прослушивателя.

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

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

Требования

Требование Значение
Минимальная версия клиента Не поддерживается, поддерживается в NDIS 6.30 и более поздних версиях.
Минимальная версия сервера Windows Server 2012
Целевая платформа Windows
Header ndkpi.h (включая 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