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結構會作為 Windows Vista 和更新版本上可用的命名空間服務提供者第 2 版 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 Sockets 會藉由將呼叫分派至正確的命名空間提供者來管理命名空間提供者。 它也會隱藏 RPC 介面詳細數據,並將跨進程呼叫轉譯成同進程呼叫。 因此,NSPv2 提供者只需要實作與 NSPv1 提供者所使用的 NSP_ROUTINE 結構類似的進入點函式數據表。 NSPv2 提供者不需要擔心 RPC 特定需求 (數據封送處理和串行化,例如) 。
WSAUnadvertiseProvider 函式讓特定命名空間提供者無法再供用戶端使用。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
標頭 | ws2spi.h |