NDK_FN_LISTEN回调函数 (ndkpi.h)

NdkListen (NDK_FN_LISTEN) 函数将 NDK 侦听器对象置于侦听模式。

语法

NDK_FN_LISTEN NdkFnListen;

NTSTATUS NdkFnListen(
  [in]           NDK_LISTENER *pNdkListener,
                 const PSOCKADDR pAddress,
  [in]           ULONG AddressLength,
  [in]           NDK_FN_REQUEST_COMPLETION RequestCompletion,
  [in, optional] PVOID RequestContext
)
{...}

参数

[in] pNdkListener

指向 NDK 侦听器对象的指针 (NDK_LISTENER) 。

pAddress

要侦听的本地地址。 对于AF_INET或AF_INET6 pAddress 包含本地 IP 地址和本地 ND 端口。

[in] AddressLength

pAddress 参数处本地地址数据的大小(以字节为单位)。

[in] RequestCompletion

指向请求完成回调例程 NdkRequestCompletion 的指针 (NDK_FN_REQUEST_COMPLETION) 。

[in, optional] RequestContext

要传递给 RequestCompletion 参数中指定的回调函数的 Context 参数的上下文值。

返回值

NdkListen 函数返回以下 NTSTATUS 代码之一。

返回代码 说明
STATUS_SUCCESS
侦听请求成功。
STATUS_PENDING
操作处于挂起状态,稍后将完成。 驱动程序将调用指定的 RequestCompletion (NDK_FN_REQUEST_COMPLETION) 函数来完成挂起的操作。
STATUS_INSUFFICIENT_RESOURCES
由于资源不足,请求失败。
重要 请求可能会内联失败,也可能会以异步方式失败,并显示此状态代码。
 
STATUS_SHARING_VIOLATION
请求失败,因为指定的本地地址已在使用中。
重要 请求可能会内联失败,也可能会以异步方式失败,并显示此状态代码。
 
STATUS_INVALID_ADDRESS
请求失败,因为指定的本地地址不是适配器的有效地址。
重要 请求可能会内联失败,也可能会以异步方式失败,并显示此状态代码。
 
STATUS_TOO_MANY_ADDRESSES
请求失败,因为使用者将本地端口号指定为零,并且网络直通提供程序无法从临时端口空间 (端口 49152-65535.)
其他状态代码
出现了错误。

注解

NdkListen 将侦听器对象置于指定的本地地址上的侦听模式。

要求

要求
最低受支持的客户端 不支持,在 NDIS 6.30 及更高版本中受支持。
最低受支持的服务器 Windows Server 2012
目标平台 Windows
标头 ndkpi.h (包括 Ndkpi.h)
IRQL <=DISPATCH_LEVEL

另请参阅

NDKPI 对象生存期要求

NDK_FN_REQUEST_COMPLETION

NDK_LISTENER