функция обратного вызова 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.
Возвращаемый код | Описание |
---|---|
|
Операция успешно завершена. |
|
Операция ожидается и будет завершена позже. Драйвер вызовет указанную функцию RequestCompletion (NDK_FN_REQUEST_COMPLETION) для завершения ожидающей операции. |
|
Соединительный узел отказался от ожидающего создания подключения. |
|
Одноранговый узел не вызвал функцию 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