다음을 통해 공유


NDK_FN_ACCEPT_EX 콜백 함수(ndkpi.h)

NdkAcceptEx(NDK_FN_ACCEPT_EX) 함수는 수신기 개체를 통해 들어오는 연결 요청을 수락합니다.

구문

NDK_FN_ACCEPT_EX NdkFnAcceptEx;

NTSTATUS NdkFnAcceptEx(
  [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_EX 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에서 허용할 들어오는 진행 중인 읽기 작업의 최대 수입니다. 기본 공급자가 NDK_ADAPTER_INFO 구조에서 더 낮은 MaxInboundReadLimit 값을 갖는 경우 공급자는 소비자가 제공한 값을 공급자 최대값으로 제한합니다. 피어의 OutboundReadLimit 값이 낮으면 공급자는 해당 값을 유효한 InboundReadLimit로 사용합니다. 소비자는 NdkGetConnectionData 함수(NDK_FN_GET_CONNECTION_DATA)를 호출하여 유효한 InboundReadLimit를 검색할 수 있습니다.

[in] OutboundReadLimit

소비자가 제공한 QP에서 허용할 나가는 진행 중인 읽기 작업의 최대 수입니다. 기본 공급자가 NDK_ADAPTER_INFO 구조에서 MaxOutboundReadLimit 값이 낮으면 공급자는 제공된 소비자 값을 공급자 최대값으로 제한합니다. 피어에 InboundReadLimit가 더 낮은 경우 공급자는 해당 값을 유효한 OutboundReadLimit로 사용합니다. 소비자는 NdkGetConnectionData 함수(NDK_FN_GET_CONNECTION_DATA)를 호출하여 유효한 OutboundReadLimit를 검색할 수 있습니다.

[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData

수락 요청과 함께 다시 전송되는 프라이빗 데이터입니다.

[in] PrivateDataLength

pPrivateData 매개 변수에 제공되는 프라이빗 데이터의 길이(바이트)입니다.

[in, optional] DisconnectEvent

선택적 연결 끊기 알림 콜백 함수 NdkDisconnectEventCallbackEx NDK_FN_DISCONNECT_EVENT_CALLBACK_EX 대한 진입점입니다. 공급자는 피어 연결이 끊어지면 이 콜백 함수를 호출합니다.

[in, optional] DisconnectEventContext

DisconnectEvent 매개 변수에 지정된 콜백 함수의 DisconnectEventContext 매개 변수에 전달할 컨텍스트 값입니다.

[in] RequestCompletion

요청 완료 콜백 루틴 NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION)에 대한 포인터입니다.

[in, optional] RequestContext

RequestCompletion 매개 변수에 지정된 콜백 함수의 Context 매개 변수에 전달할 컨텍스트 값입니다.

반환 값

NDK_FN_ACCEPT_EX 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS 작업이 성공적으로 완료되었습니다.
STATUS_PENDING 작업이 보류 중이며 나중에 완료됩니다. 드라이버는 지정된 RequestCompletion (NDK_FN_REQUEST_COMPLETION) 함수를 호출하여 보류 중인 작업을 완료합니다.
STATUS_CONNECTION_ABORTED 연결 피어가 보류 중인 연결 설정을 중단했습니다.
STATUS_IO_TIMEOUT 피어가 보류 중인 연결 요청을 완료하기 위해 CompleteConnect(NDK_FN_COMPLETE_CONNECT_EX) 함수를 호출하지 않았습니다.
기타 상태 코드 오류가 발생했습니다.

설명

NDK 소비자는 NdkAcceptEx 를 호출하여 수신기 개체를 통해 들어오는 연결 요청을 수락합니다.

NdkCreateListener(NDK_FN_CREATE_LISTENER) 함수는 NDK 수신기 개체를 만들고 NdkConnectEventCallback 함수(NDK_FN_CONNECT_EVENT_CALLBACK)를 제공합니다.

NdkConnectEventCallback 함수는 NDK 공급자가 들어오는 각 연결 요청에 대해 소비자에게 알리는 데 사용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDKPI 2.1 이상에서 지원됩니다.
지원되는 최소 서버 Windows Server 2022
대상 플랫폼 Windows
헤더 ndkpi.h(Ndkpi.h 포함)
IRQL <=DISPATCH_LEVEL

추가 정보

NDK_FN_DISCONNECT_EVENT_CALLBACK_EX

NDK_FN_COMPLETE_CONNECT_EX

NDKPI 개체 수명 요구 사항

NDK_ADAPTER_INFO

NDK_CONNECTOR

NDK_CONNECTOR_DISPATCH

NDK_FN_CONNECT_EVENT_CALLBACK

NDK_FN_CREATE_LISTENER

NDK_FN_GET_CONNECTION_DATA

NDK_FN_REJECT

NDK_FN_REQUEST_COMPLETION

NDK_QP