// ndkpi.h
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
)
{...}
View the official Windows Driver Kit DDI reference
No description available.
The NdkAccept (NDK_FN_ACCEPT) function accepts an incoming connection request over a listener object.
pNdkConnector
[in]A pointer to an NDK connector object (NDK_CONNECTOR).
pNdkQp
[in]A pointer to an NDK queue pair (QP) object (NDK_QP) to associate with the connection.
InboundReadLimit
[in]The consumer-supplied maximum number of incoming in-progress read operations to allow on the QP. If the underlying provider has a lower MaxInboundReadLimit value in the NDK_ADAPTER_INFO structure, then the provider will cap the consumer-supplied value to the provider maximum. If the peer has a lower OutboundReadLimit value, then the provider will use that value as the effective InboundReadLimit. The consumer can retrieve the effective InboundReadLimit by calling the NdkGetConnectionData function (NDK_FN_GET_CONNECTION_DATA).
OutboundReadLimit
[in]The consumer-supplied maximum number of outgoing in-progress read operations to allow on the QP. If the underlying provider has a lower MaxOutboundReadLimit value in the NDK_ADAPTER_INFO structure, then the provider will cap the consumer supplied value to the provider maximum. If the peer has a lower InboundReadLimit, then the provider will use that value as the effective OutboundReadLimit. The consumer can retrieve the effective OutboundReadLimit by calling the NdkGetConnectionData function (NDK_FN_GET_CONNECTION_DATA).
pPrivateData
[_In_reads_bytes_opt_(PrivateDataLength)]A pointer to private data that is sent back with the accept request.
PrivateDataLength
[in]The length, in bytes, of the private data that is provided in the pPrivateData parameter.
DisconnectEvent
[in, optional]An entry point for an optional disconnect notification callback function NdkDisconnectEventCallback (NDK_FN_DISCONNECT_EVENT_CALLBACK). The provider calls this callback function when the peer disconnects.
DisconnectEventContext
[in, optional]A context value to pass to the DisconnectEventContext parameter of the callback function that is specified in the DisconnectEvent parameter.
RequestCompletion
[in]A pointer to a request completion callback routine NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).
RequestContext
[in, optional]A context value to pass to the Context parameter of the callback function that is specified in the RequestCompletion parameter.
The NDK_FN_ACCEPT function returns one of the following NTSTATUS codes.
Return code | Description |
---|---|
STATUS_SUCCESS | The operation completed successfully. |
STATUS_PENDING | The operation is pending and will be completed later. The driver will call the specified RequestCompletion (NDK_FN_REQUEST_COMPLETION) function to complete the pending operation. |
STATUS_CONNECTION_ABORTED | The connecting peer abandoned the pending connection establishment. |
STATUS_IO_TIMEOUT | The peer did not call the CompleteConnect (NDK_FN_COMPLETE_CONNECT) function to complete the pending connection request. |
Other status codes | An error occurred. |
The NDK consumer calls NdkAccept to accept an incoming connection request over a listener object.
The NdkCreateListener (NDK_FN_CREATE_LISTENER) function creates an NDK listener object and provides an NdkConnectEventCallback function (NDK_FN_CONNECT_EVENT_CALLBACK).
The NdkConnectEventCallback function is used by the NDK provider to notify the consumer about each incoming connection request.
NDKPI Object Lifetime Requirements
NDK_FN_DISCONNECT_EVENT_CALLBACK