應用程式會使用 WSAEnumProtocols 函式來判斷存在的傳輸通訊協定和通訊協定鏈結,以及取得相關 WSAPROTOCOL_INFO 結構中包含的每個相關信息。
在大部分情況下,每個通訊協定或通訊協定鏈結都有單一 WSAPROTOCOL_INFO 結構。 不過,某些通訊協議會顯示多個行為。 例如,SPX 通訊協定是訊息導向的(也就是說,傳送者的訊息界限會由網路保留),但接收套接字可以忽略這些訊息界限,並將其視為位元組數據流。 因此,SPX 可能有兩個不同的 WSAPROTOCOL_INFO 結構項目,分別對應每種行為。
在 Windows Sockets 2 中,會出現數個新的位址系列、套接字類型和通訊協定值。 Windows Sockets 1.1 支援由少數已知套接字類型和通訊協定標識碼組成的 IPv4 單一位址系列(AF_INET)。 Windows Sockets 2 會基於相容性原因保留現有的位址系列、套接字類型和通訊協定標識符,但也支援具有新媒體類型的新傳輸通訊協定的新位址系列值。
新的唯一標識符不一定是眾所周知的,但這不應該造成問題。 建議需要與通訊協定無關的應用程式根據其適用性來選取通訊協定,而不是指派給其 socket_type 或 通訊協定 參數的值。 通訊協議的適用性由其通訊屬性來表示,例如訊息與位元組資料流、可靠與不可靠等特徵,這些特徵包含在通訊協定 WSAPROTOCOL_INFO 結構中。 根據適用性來選取通訊協定,而不是已知的通訊協定名稱和套接字類型,可讓通訊協定獨立應用程式利用新的傳輸通訊協定及其相關聯的媒體類型,因為它們可供使用。
用戶端/伺服器應用程式的伺服器端可藉由在所有適合的傳輸通訊協定上建立監聽套接字而獲得好處。 然後,用戶端可以使用任何適當的通訊協定來建立其連線。 例如,這可讓用戶端應用程式在透過 LAN 連線的桌面系統上執行或使用無線網路的膝上型電腦上執行時都不需修改。