NDK_FN_ACCEPT callback function (ndkpi.h)
The NdkAccept (NDK_FN_ACCEPT) function accepts an incoming connection request over a listener object.
Syntax
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
)
{...}
Parameters
[in] pNdkConnector
A pointer to an NDK connector object (NDK_CONNECTOR).
[in] pNdkQp
A pointer to an NDK queue pair (QP) object (NDK_QP) to associate with the connection.
[in] InboundReadLimit
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).
[in] OutboundReadLimit
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).
[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData
A pointer to private data that is sent back with the accept request.
[in] PrivateDataLength
The length, in bytes, of the private data that is provided in the pPrivateData parameter.
[in, optional] DisconnectEvent
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.
[in, optional] DisconnectEventContext
A context value to pass to the DisconnectEventContext parameter of the callback function that is specified in the DisconnectEvent parameter.
[in] RequestCompletion
A pointer to a request completion callback routine NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).
[in, optional] RequestContext
A context value to pass to the Context parameter of the callback function that is specified in the RequestCompletion parameter.
Return value
The NDK_FN_ACCEPT function returns one of the following NTSTATUS codes.
Return code | Description |
---|---|
|
The operation completed successfully. |
|
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. |
|
The connecting peer abandoned the pending connection establishment. |
|
The peer did not call the CompleteConnect (NDK_FN_COMPLETE_CONNECT) function to complete the pending connection request. |
|
An error occurred. |
Remarks
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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | None supported,Supported in NDIS 6.30 and later. |
Minimum supported server | Windows Server 2012 |
Target Platform | Windows |
Header | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
See also
NDKPI Object Lifetime Requirements