LPNSPV2CLIENTSESSIONRUNDOWN回调函数 (ws2spi.h)

NSPv2ClientSessionRundown 函数通知命名空间服务提供程序版本 2 (NSPv2) 提供程序客户端会话正在终止。

语法

LPNSPV2CLIENTSESSIONRUNDOWN Lpnspv2clientsessionrundown;

void Lpnspv2clientsessionrundown(
  [in] LPGUID lpProviderId,
  [in] LPVOID pvClientSessionArg
)
{...}

参数

[in] lpProviderId

指向要通知的特定命名空间提供程序的 GUID 的指针。

[in] pvClientSessionArg

指向正在终止的客户端会话的指针。

返回值

如果例程成功 函数应返回NO_ERROR (零) 。 如果例程失败,它应返回 SOCKET_ERROR (即 1) ,并且必须使用 WSASetLastError 设置相应的错误代码。

错误代码 含义
WSA_NOT_ENOUGH_MEMORY
没有足够的内存可用于执行此操作。
WSAEACCES
调用例程没有足够的权限来安装服务。
WSAEINVAL
此提供程序的一个或多个参数无效或缺失。
WSAEOPNOTSUPP
此操作不受支持。 如果命名空间提供程序未实现此函数,则返回此错误。 如果指定的 dwControlCode 是无法识别的命令,则也可能返回此错误。
WSASERVICE_NOT_FOUND
服务未知。 在指定的命名空间中找不到该服务。

注解

NSPv2ClientSessionRundown 函数用作命名空间服务提供程序版本 2 的一部分, (Windows Vista 及更高版本上提供的 NSPv2) 体系结构。

在 Windows Vista 和 Windows Server 2008 上, NSPv2ClientSessionRundown 函数只能用于对NS_EMAIL命名空间提供程序进行操作。

每次新客户端进程开始使用命名空间提供程序时,都会调用 NSPv2Startup 函数。 提供程序可以使用 ppvClientSessionArg 参数指向的客户端会话参数来存储有关此会话的信息。 如果在对 NSPv2Startup 函数的调用中为客户端会话参数指定了值,则会在 pvClientSessionArg 参数中将此相同的客户端会话参数传递到 NSPv2ClientSessionRundown 函数。

NSPv2StartupNSPv2ClientSessionRundownNSPv2Cleanup 函数是可选的,具体取决于 NSPv2 提供程序的要求。

如果未实现 NSPv2ClientSessionRundown 函数,则返回 WSAEOPNOTSUPP 的存根函数应截获对该函数的调用。 指向NSPV2_ROUTINE结构中未实现的 NSPv2ClientSessionRundown 函数的 NSPv2 函数指针应指向存根函数。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 ws2spi.h

另请参阅

NSPV2_ROUTINE

NSPv2Cleanup

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAQUERYSET2

WSASetLastError