Share via


NSPV2_ROUTINE結構 (ws2spi.h)

NSPV2_ROUTINE 結構包含命名空間服務提供者第 2 版 (NSPv2) 提供者所實作之函式的相關信息。

注意Ws2spi.h 頭文件結構包含所有 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 提供者:

NSPv2LookupServiceBegin

- NSPv2LookupServiceNextEx

- NSPv2LookupServiceEnd

所有其他函式都是選擇性的,取決於 NSPv2 提供者的需求。

如果未實作函式,則應該由傳回 WSAEOPNOTSUPP 的存根函式攔截該函式的呼叫。 NSPV2_ROUTINE 結構中未實作函式的NSPv2函式指標應指向存根函式。

一般而言,NSPv2 提供者是在呼叫應用程式以外的進程中實作。 NSPv2 提供者不會因為客戶端活動而啟動。 每個裝載應用程式的提供者會藉由呼叫 WSAAdvertiseProviderWSAUnadvertiseProvider 函 式,決定何時提供或無法使用特定提供者。 用戶端活動只會在命名空間提供者公告) 時,嘗試連絡提供者時 (。

程式可以同時實作和公告多個提供者。 Windows Sockets 會藉由將呼叫分派至正確的命名空間提供者來管理命名空間提供者。 它也會隱藏 RPC 介面詳細數據,並將跨進程呼叫轉譯成同進程呼叫。 因此,NSPv2 提供者只需要實作與 NSPv1 提供者所使用的 NSP_ROUTINE 結構類似的進入點函式數據表。 NSPv2 提供者不需要擔心 RPC 特定需求 (數據封送處理和串行化,例如) 。

WSAUnadvertiseProvider 函式讓特定命名空間提供者無法再供用戶端使用。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 ws2spi.h

另請參閱

NSP_ROUTINE

NSPv2Cleanup

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAAdvertiseProvider

WSAProviderCompleteAsyncCall

WSAQUERYSET2

WSAUnadvertiseProvider