共用方式為


初始化 SAN 服務提供者

Windows Sockets 參數會初始化 SAN 服務提供者,如下圖所示。

說明 Windows 通訊端交換器如何初始化 SAN 服務提供者的圖表。

在 Windows 將 Windows Sockets 參數 DLL 載入至應用程式的處理常式之後,就會發生下列事件順序。

初始化 SAN 服務提供者

  1. 交換器會偵測並載入 TCP/IP 提供者,然後查詢登錄中的 SAN 服務提供者清單,以偵測所有這些提供者,如 安裝 SAN 服務提供者中所述。 參數會呼叫每個偵測到的提供者 WSPStartupEx 函 式,以起始該提供者的使用。

  2. WSPStartupEx 呼叫中,參數會將指標傳遞給包含 TCP/IP 提供者通訊協定資訊的 WSAPROTOCOL_INFOW 結構。 TCP/IP 提供者的通訊協定會向 SAN 服務提供者指出它已由交換器初始化,而不是由其他分層服務提供者或 Windows 通訊端介面初始化。 交換器會傳遞 TCP/IP 提供者的通訊協定資訊,而不是 SAN 服務提供者的傳輸資訊,如Microsoft Windows SDK檔中的Windows Sockets 服務提供者介面 (SPI) 一節所建議。

    因為 SAN 服務提供者可以偵測參數初始化它,所以可以將適當的進入點函式集合公開給參數。 如果 SAN 服務提供者是由應用程式直接初始化,它可以將另一組進入點函式公開給該應用程式。 如果 SAN 服務提供者分層在 參數下,該提供者必須遵守本節中所述的延伸模組和行為。

  3. SAN 服務提供者的 Proxy 驅動程式會取得指派給其控制下每個 NIC 的 IP 位址清單,如 註冊 SAN NIC 通知中所述。 SAN 服務提供者會使用私人介面,從其 Proxy 驅動程式擷取此清單。 交換器會呼叫 SAN 服務提供者的 WSPSocket 函式來建立通訊端。 交換器會使用此通訊端來擷取指派給 NIC 的完整 IP 位址清單,以控制 SAN 服務提供者的 Proxy 驅動程式。 參數會擷取此清單,如 接收和翻譯 NIC 位址中所述。 根據這份清單和其他 SAN 服務提供者的清單,交換器會建置資料表,將本機 IP 子網對應至 SAN 服務提供者。

  4. Windows Sockets 參數必須擷取 SAN 服務提供者進入點函式的指標,以擴充 Windows Sockets 服務提供者介面 (SPI) 以搭配 SAN 使用。 若要擷取這些擴充函式,Windows Sockets 參數會呼叫 SAN 服務提供者的 WSPIoctl 函式,並傳遞SIO_GET_EXTENSION_FUNCTION_POINTER命令程式碼以及其值識別這些擴充函式之一的 GUID。

    如需這些函式的完整描述,請參閱 SAN 的 Windows 通訊端 SPI 擴充功能

  5. 參數可以建立執行緒以支援接聽通訊端和非封鎖連線要求,如 設定 SAN 連線中所述。