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 上允许。 如果基础提供程序在 NDK_ADAPTER_INFO 结构中具有较低的 MaxInboundReadLimit 值,则提供程序会将使用者提供的值上限为提供程序最大值。 如果对等方具有较低的 OutboundReadLimit 值,则提供程序将使用该值作为 effective 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
可选断开连接通知回调函数的入口点,NdkDisconnectEventCallback(NDK_FN_DISCONNECT_EVENT_CALLBACK)。 当对等方断开连接时,提供程序将调用此回调函数。
[in, optional] DisconnectEventContext
要传递给 DisconnectEvent 参数中指定的回调函数的 DisconnectEventContext 参数的上下文值。
[in] RequestCompletion
指向请求完成回调例程的指针,NdkRequestCompletion(NDK_FN_REQUEST_COMPLETION)。
[in, optional] RequestContext
要传递给 RequestCompletion 参数中指定的回调函数的 Context 参数的上下文值。
返回值
NDK_FN_ACCEPT 函数返回以下 NTSTATUS 代码之一。
返回代码 | 描述 |
---|---|
|
作已成功完成。 |
|
该作处于挂起状态,稍后将完成。 驱动程序将调用指定的 RequestCompletion (NDK_FN_REQUEST_COMPLETION) 函数来完成挂起的作。 |
|
连接对等方放弃了挂起的连接建立。 |
|
对等方未调用 CompleteConnect (NDK_FN_COMPLETE_CONNECT) 函数来完成挂起的连接请求。 |
|
发生错误。 |
言论
NDK 使用者调用 NdkAccept 以接受通过侦听器对象发出的传入连接请求。
NdkCreateListener (NDK_FN_CREATE_LISTENER) 函数创建 NDK 侦听器对象,并提供 NdkConnectEventCallback 函数(NDK_FN_CONNECT_EVENT_CALLBACK)。
NDK 提供程序使用 NdkConnectEventCallback 函数来通知使用者每个传入的连接请求。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | NDIS 6.30 及更高版本不支持。 |
支持的最低服务器 | Windows Server 2012 |
目标平台 | 窗户 |
标头 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |