NDK_FN_CREATE_SHARED_ENDPOINT回调函数 (ndkpi.h)
NdkCreateSharedEndpoint (NDK_FN_CREATE_SHARED_ENDPOINT) 函数创建 NDK 共享终结点。
语法
NDK_FN_CREATE_SHARED_ENDPOINT NdkFnCreateSharedEndpoint;
NTSTATUS NdkFnCreateSharedEndpoint(
[in] NDK_ADAPTER *pNdkAdapter,
const PSOCKADDR pAddress,
[in] ULONG AddressLength,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_SHARED_ENDPOINT **ppNdkSharedEndpoint
)
{...}
参数
[in] pNdkAdapter
指向 NDK 适配器对象的指针 (NDK_ADAPTER) 。
pAddress
用于启动传出连接的本地地址。 对于AF_INET或AF_INET6 pAddress 包含本地 IP 地址和本地 ND 端口。
[in] AddressLength
pAddress 参数中本地地址数据的大小(以字节为单位)。
[in] CreateCompletion
指向 NdkCreateCompletion 的指针 (NDK_FN_CREATE_COMPLETION 完成 NDK 对象的创建) 函数。
[in, optional] RequestContext
NDK 提供程序传递回 CreateCompletion 参数中指定的 NdkCreateCompletion 函数的上下文值。
ppNdkSharedEndpoint
如果请求成功但不返回 STATUS_PENDING ,则在此位置返回指向 (NDK_SHARED_ENDPOINT) 创建的共享终结点对象的指针。 如果请求返回STATUS_PENDING则忽略此参数,并使用 CreateCompletion 参数中指定的回调返回创建的对象。
返回值
NdkCreateSharedEndpoint 函数返回以下 NTSTATUS 代码之一。
返回代码 | 说明 |
---|---|
|
已成功创建共享终结点对象,并使用 *ppNdkSharedEndpoint 参数返回。 |
|
操作处于挂起状态,稍后将完成。 提供程序将调用 CreateCompletion 参数中指定的函数 (NDK_FN_CREATE_COMPLETION) 来完成挂起的操作。 |
|
由于资源不足,请求失败。
重要 请求可能会因此状态代码而以异步方式内联失败。
|
|
请求失败,因为指定的本地地址已在使用中。
重要 请求可能会因此状态代码而以异步方式内联失败。
|
|
请求失败,因为使用者将本地端口号指定为零,并且网络直通提供程序无法从临时端口空间 (端口 49152-65535.) |
|
请求失败,因为指定的本地地址不是适配器的有效地址。
重要 请求可能会因此状态代码而以异步方式内联失败。
|
|
出现了错误。 |
注解
NdkCreateSharedEndpoint 函数创建一个 NDK 共享终结点,用作发往不同远程地址的多个传出连接的本地地址。 这类似于与侦听器对象表示的同一本地地址建立多个传入连接。
如果函数返回STATUS_SUCCESS,则会在 ppNdkSharedEndpoint 参数中返回创建的对象。 如果 NdkCreateSharedEndpoint 返回STATUS_PENDING,则 NdkCreateCompletion (NDK_FN_CREATE_COMPLETIONcreateCompletion 参数中指定的) 函数返回创建的对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 不支持,NDIS 6.30 及更高版本支持。 |
最低受支持的服务器 | Windows Server 2012 |
目标平台 | Windows |
标头 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |