NSPV2_ROUTINE结构包含命名空间服务提供程序版本 2 (NSPv2) 提供程序实现的函数的相关信息。
Syntax
typedef struct _NSPV2_ROUTINE {
DWORD cbSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
LPNSPV2STARTUP NSPv2Startup;
LPNSPV2CLEANUP NSPv2Cleanup;
LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin;
LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx;
LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd;
LPNSPV2SETSERVICEEX NSPv2SetServiceEx;
LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown;
} NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPNSPV2_ROUTINE;
Members
cbSize
类型:DWORD
结构的大小(以字节为单位)。
dwMajorVersion
类型:DWORD
此提供程序支持的服务提供商规范的主要版本。
dwMinorVersion
类型:DWORD
此提供程序支持的服务提供商规范的次要版本。
NSPv2Startup
类型: LPNSPV2STARTUP
指向此 NSPv2 提供程序的 NSPv2Startup 函数的指针。
NSPv2Cleanup
类型: LPNSPV2CLEANUP
指向此 NSPv2 提供程序的 NSPv2Cleanup 函数的指针。
NSPv2LookupServiceBegin
类型: LPNSPV2LOOKUPSERVICEBEGIN
指向此 NSPv2 提供程序的 NSPv2LookupServiceBegin 函数的指针。
NSPv2LookupServiceNextEx
类型: LPNSPV2LOOKUPSERVICENEXTEX
指向此 NSPv2 提供程序的 NSPv2LookupServiceNextEx 函数的指针。
NSPv2LookupServiceEnd
类型: LPNSPV2LOOKUPSERVICEEND
指向此 NSPv2 提供程序的 NSPv2LookupServiceEnd 函数的指针。
NSPv2SetServiceEx
类型: LPNSPV2SETSERVICEEX
指向此 NSPv2 提供程序的 NSPv2SetServiceEx 函数的指针。
NSPv2ClientSessionRundown
类型: LPNSPV2CLIENTSESSIONRUNDOWN
指向此 NSPv2 提供程序的 NSPv2ClientSessionRundown 函数的指针。
注解
NSPV2_ROUTINE结构用作 Windows Vista 及更高版本上提供的命名空间服务提供程序版本 2 (NSPv2) 体系结构的一部分。
在 Windows Vista 和 Windows Server 2008 上, NSPV2_ROUTINE 结构只能用于NS_EMAIL命名空间提供程序上的作。
WSAAdvertiseProvider 函数播发 NSPv2 提供程序的实例供客户端查找。 WSAAdvertiseProvider 调用方使用提供程序支持的 NSPv2 入口点将指针传递给 pNSPv2Routine 参数中的NSPV2_ROUTINE结构。
实现以下函数需要 NSPv2 提供程序:
所有其他函数都是可选的,具体取决于 NSPv2 提供程序的要求。
如果未实现函数,则应通过返回 WSAEOPNOTSUPP 的存根函数截获对该函数的调用。 指向 NSPV2_ROUTINE 结构中未实现的函数的 NSPv2 函数指针应指向存根函数。
通常,NSPv2 提供程序在调用应用程序以外的进程中实现。 由于客户端活动,NSPv2 提供程序未激活。 每个托管应用程序的提供程序决定何时通过调用 WSAAdvertiseProvider 和 WSAUnadvertiseProvider 函数来使特定提供程序可用或不可用。 客户端活动只会在可用时(播发命名空间提供程序时)尝试联系提供程序。
进程可以同时实现和播发多个提供程序。 Windows 套接字将通过调度对正确命名空间的调用来管理命名空间提供程序。 它还将隐藏 RPC 接口详细信息,并将跨进程调用转换为进程内调用。 因此,NSPv2 提供程序只能实现类似于 NSPv1 提供程序使用的 NSP_ROUTINE 结构的入口点函数表。 NSPv2 提供程序无需担心 RPC 特定要求(例如数据封送和序列化)。
WSAUnadvertiseProvider 函数使特定的命名空间提供程序不再可用于客户端。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
| Header | ws2spi.h |