共用方式為


安裝 SAN 服務提供者

SAN 服務提供者通常會安裝為與 Windows Sockets 交換器介面的基底 Windows Sockets 服務提供者。 雖然可以改為安裝 SAN 服務提供者供應用程式直接使用,但 Windows Sockets Direct 技術不支援以這種方式使用 SAN 服務提供者。 安裝供應用程式直接使用的 SAN 服務提供者會匯出其原生位址系列和通訊協定特性,而不是 TCP/IP 通訊協定的特性。

透過 Windows Sockets 參數間接公開給應用程式的 SAN 服務提供者,必須在 SAN 服務提供者WSAPROTOCOL_INFOW結構的dwProviderFlags成員中設定PFL_HIDDEN旗標。 若要在作業系統上安裝 SAN 服務提供者,SAN 服務提供者的安裝機制會在呼叫 WSCInstallProvider 函式時傳遞此結構。 SAN 服務提供者的安裝機制,例如,由 SAN 服務提供者匯出的安裝程式或函式,並由 INF 檔案指示詞呼叫。

SAN 服務提供者的安裝機制必須將類型REG_BINARY的值新增至登錄中的下列機碼,才能讓 Windows Sockets 參數偵測為基底 Windows Sockets 服務提供者:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock\
Parameters\TCP on SAN

這個值包含來自 WSAPROTOCOL_INFOW 結構的 ProviderId 成員中值的二進位標記法。 這個值會向 Windows Sockets 參數註冊 SAN 服務提供者。 此成員包含廠商指派給 SAN 服務提供者的全域唯一識別碼 (GUID) 。

廠商也可以指派代表此 GUID 的唯一名稱,例如:

  • 產品的商標名稱

  • 唯一數值

  • GUID 的文字標記法

註冊 SAN 服務提供者

  1. 參數會呼叫 WSAProviderConfigChange 函式來偵測 Windows Sockets 提供者安裝和移除事件。

  2. 安裝新的 Windows Sockets 服務提供者之後,參數會呼叫 WSCEnumProtocols 函式來查詢 Windows Sockets 目錄和登錄中的 SAN 服務提供者清單,以判斷新的服務提供者是否控制 SAN。 如需 WSCEnumProtocols的詳細資訊,請參閱 Windows SDK。

  3. 如果交換器偵測到新的 SAN 服務提供者,交換器會初始化該服務提供者,如 初始化 SAN 服務提供者中所述。

  4. 參數也會在 SAN 服務提供者初始化為系結至萬用字元 IP 位址的現有接聽通訊端之後,呼叫新安裝的 SAN 服務提供者的下列函式, (0.0.0.0) (萬用字元 IP 位址表示 SAN 服務提供者應該接受其控制的所有 NIC 的連入連線要求) :

    WSPSocket
    建立通訊端

    WSPBind
    將通訊端系結至萬用字元 IP 位址

    WSPListen
    將通訊端設定為認可並排入連入連線要求,直到交換器接受為止

    注意 從 Windows Vista 開始,無法使用萬用字元 IP 位址 0.0.0.0。 從 Windows Vista 開始,如果 IPAutoconfigurationEnabled 登錄機碼設定為 0 值,則會停用自動 IP 位址指派,而且未指派任何 IP 位址。 在此情況下, ipconfig 命令列工具將不會顯示 IP 位址。 如果金鑰設定為非零值,則會自動指派 IP 位址。 此機碼位於登錄中的下列路徑:

    HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Services\Tcpip\Parameters\IPAutoconfigurationEnabled

    HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Services\Tcpip\Parameters\Interfaces\GUID\IPAutoconfigurationEnabled