LPNSPV2STARTUP回调函数 (ws2spi.h)
NSPv2Startup 函数通知命名空间服务提供程序版本 2 (NSPv2) 提供程序,新客户端进程将开始使用提供程序。
语法
LPNSPV2STARTUP Lpnspv2startup;
INT Lpnspv2startup(
[in] LPGUID lpProviderId,
[in] LPVOID *ppvClientSessionArg
)
{...}
参数
[in] lpProviderId
指向要通知的特定命名空间提供程序的 GUID 的指针。
[in] ppvClientSessionArg
指向客户端会话的指针。
返回值
如果例程成功 , 函数应返回NO_ERROR (零) 。 如果例程失败,它应返回 SOCKET_ERROR (即 1) ,并且必须使用 WSASetLastError 设置相应的错误代码。
错误代码 | 含义 |
---|---|
没有足够的内存可用于执行此操作。 | |
调用例程没有足够的权限来初始化服务。 | |
此提供程序的一个或多个参数无效或缺失。 | |
此操作不受支持。 如果命名空间提供程序未实现此函数,则返回此错误。 | |
服务未知。 在指定的命名空间中找不到该服务。 |
注解
NSPv2Startup 函数用作命名空间服务提供程序版本 2 的一部分, (Windows Vista 及更高版本上提供的 NSPv2) 体系结构。
在 Windows Vista 和 Windows Server 2008 上, NSPv2Startup 函数只能用于NS_EMAIL命名空间提供程序上的操作。
每次新的客户端进程开始使用命名空间提供程序时,都会调用 NSPv2Startup 函数。 提供程序可以使用 ppvClientSessionArg 参数指向的客户端会话参数来存储有关此会话的信息。 ppvClientSessionArg 参数中的值将传递给同一会话中的后续 NSPv2 函数调用。 如果命名空间提供程序不需要此信息,则客户端会话参数可以为 NULL。
初始化新的客户端会话时,将调用 NSPv2Startup 函数。 NSPv2Startup 和 NSPv2Cleanup 函数必须作为对调用。
在调用 NSPv2Cleanup 函数之前,必须成功调用 NSPv2Startup 函数。 允许进行多个 NSPv2Startup 调用。 但是,对于每个 NSPv2Startup 调用,还必须发出相应的 NSPv2Cleanup 调用。 只有服务提供商的最终 NSPv2Cleanup 执行实际清理;上述调用会减少命名空间服务提供程序中的内部引用计数。
NSPv2Startup、NSPv2ClientSessionRundown 和 NSPv2Cleanup 函数是可选的,具体取决于 NSPv2 提供程序的要求。
如果未实现 NSPv2Startup 函数,则返回 WSAEOPNOTSUPP 的存根函数应截获对该函数的调用。 指向NSPV2_ROUTINE结构中未实现的 NSPv2Startup 函数的 NSPv2 函数指针应指向存根函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | ws2spi.h |