NSPV2_ROUTINE 结构 (ws2spi.h)
NSPV2_ROUTINE 结构包含有关命名空间服务提供程序版本 2 (NSPv2) 提供程序实现的函数的信息。
语法
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;
成员
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结构用作命名空间服务提供程序版本 2 的一部分, (Windows Vista 及更高版本上可用的 NSPv2) 体系结构。
在 Windows Vista 和 Windows Server 2008 上, NSPV2_ROUTINE 结构只能用于对NS_EMAIL命名空间提供程序执行的操作。
WSAAdvertiseProvider 函数播发 NSPv2 提供程序的实例,供客户端查找。 WSAAdvertiseProvider 调用方将指针传递到 pNSPv2Routine 参数中的NSPV2_ROUTINE结构,其中包含提供程序支持的 NSPv2 入口点。
实现以下函数需要 NSPv2 提供程序:
所有其他函数都是可选的,具体取决于 NSPv2 提供程序的要求。
如果未实现函数,则返回 WSAEOPNOTSUPP 的存根函数应截获对该函数的调用。 指向 NSPV2_ROUTINE 结构中未实现的函数的 NSPv2 函数指针应指向存根函数。
通常,NSPv2 提供程序是在调用应用程序以外的进程中实现的。 NSPv2 提供程序不会由于客户端活动而激活。 每个托管应用程序的提供程序通过调用 WSAAdvertiseProvider 和 WSAUnadvertiseProvider 函数来决定何时使特定提供程序可用或不可用。 客户端活动仅导致尝试联系提供程序(如果可用 () 播发命名空间提供程序时)。
一个进程可以同时实现和播发多个提供程序。 Windows 套接字将通过调度对正确命名空间的调用来管理命名空间提供程序。 它还将隐藏 RPC 接口详细信息,并将跨进程调用转换为进程内调用。 因此,NSPv2 提供程序只需实现类似于 NSPv1 提供程序使用的 NSP_ROUTINE 结构的入口点函数表。 NSPv2 提供程序无需担心 RPC 特定要求 (数据封送和序列化,例如) 。
WSAUnadvertiseProvider 函数使特定的命名空间提供程序不再可用于客户端。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | ws2spi.h |