Windows Sockets SPI-Funktionen für SANs nicht erforderlich
In diesem Abschnitt werden die Funktionen des Windows Sockets SPI beschrieben, die ein SAN-Dienstanbieter nicht implementieren muss. Diese Funktionen sind in Ws2spi.h definiert.
WSPAddressToString
Der Windows Sockets-Switch verwendet den TCP/IP-Anbieter, um alle Komponenten einer SOCKADDR-Struktur in eine lesbare numerische Zeichenfolge zu konvertieren, die die IP-Adresse eines Sockets darstellt.
WSPAsyncSelect
Der Windows Sockets-Switch verwendet sein Sitzungsprotokoll intern, um bei Bedarf Benachrichtigungen über Netzwerkereignisse für einen Socket zu verarbeiten.
WSPCancelBlockingCall
Der Windows Sockets-Switch behandelt intern den Abbruch von blockierer Anforderungen, die gerade ausgeführt werden. Daher gibt es nie Probleme, blockierende Aufrufe an eine SAN-Dienstanbieter-DLL abzubrechen. Der Windows Sockets-Switch kann entweder:
Brechen Sie eine ausstehende Verbindungsanforderung ab, indem Sie den SAN-Socket schließen. Die SAN-Dienstanbieter-DLL sollte die Verbindungsanforderung abbrechen.
Brechen Sie ausstehende Sende- und Empfangsanforderungen ab, indem Sie Daten für diese Anforderungen verwerfen, wenn der Switch diese Daten intern puffert, oder indem Sie darauf warten, dass diese Anforderungen abgeschlossen werden, wenn es sich um RDMA-Übertragungen an oder aus Anwendungspuffern handelt. Bei langwierigen RDMA-Übertragungen kann der Switch die Verbindung vollständig schließen.
In der Dokumentation zu Windows Sockets SPI im Microsoft Windows SDK wird gewarnt, dass sich eine Anwendung nicht darauf verlassen kann, dass eine Verbindung beibehalten wird, wenn ein blockierenden Aufruf abgebrochen wird. In diesem Fall ist WSPCloseSocket der einzige Aufruf, der nach dem Abbruch einer blockierenden Anforderung garantiert erfolgreich im Socket ausgeführt wird.
WSPGetPeerName Der Windows Sockets-Switch speichert die IP-Adresse eines Peers zwischen, wenn der Switch in einem WSPConnect-Aufruf eine Verbindung mit dem Peer herstellt oder eine Verbindung mit dem Peer in einem WSPAccept-Aufruf akzeptiert. Der Switch stellt diesen zwischengespeicherten Wert bei Bedarf für Anwendungen bereit.
WSPGetSockName Der Windows Sockets-Switch speichert die lokale IP-Adresse für einen Socket zwischen, wenn der Switch die Adresse dem Socket in einem WSPBind-Aufruf zuordnet oder eine Verbindung mit einem Peer in einem WSPAccept-Aufruf akzeptiert. Der Switch stellt diesen zwischengespeicherten Wert bei Bedarf für Anwendungen bereit.
WSPJoinLeaf Der Windows Sockets-Switch verwendet ausschließlich den TCP/IP-Anbieter, um Multipointsitzungen zu verarbeiten.
WSPRecvDisconnect Der Windows Sockets-Switch verarbeitet intern die Beendigung des Datenempfangs auf einem Socket und ruft alle eingehenden Verbindungsdaten von der Remotepartei ab.
WSPRecvFrom Die aktuelle Version von Windows Sockets Direct unterstützt keine SAN-Dienstanbieter, die Sockets verarbeiten, die Datagramme mit UDP-Semantik (User Datagram Protocol) empfangen. Daher ruft der Windows Sockets-Switch die WSPRecv-Funktion eines SAN-Dienstanbieters auf einem verbundenen Socket auf, um Datenstromdaten mit TCP-Semantik (Transmission Control Protocol) zu empfangen.
WSPSelect Der Windows Sockets-Switch verwendet sein Sitzungsprotokoll intern in Zusammenarbeit mit dem TCP/IP-Anbieter, um bei Bedarf die status von Sockets zu bestimmen.
WSPSendDisconnect Der Windows Sockets-Switch verarbeitet intern das Beenden der Verbindung für einen Socket und sendet Daten zur Trennung an die Remotepartei.
WSPSendTo Die aktuelle Version von Windows Sockets Direct unterstützt keine SAN-Dienstanbieter, die Sockets verarbeiten, die Datagramme mit UDP-Semantik (User Datagram Protocol) senden. Daher ruft der Windows Sockets-Switch die WSPSend-Funktion eines SAN-Dienstanbieters auf einem verbundenen Socket auf, um Streamdaten mit TCP-Semantik (Transmission Control Protocol) zu senden.
WSPShutdown Der Schalter Windows Sockets deaktiviert intern den Empfang und die Übertragung von Daten auf einem Socket.
WSPStartup Der Windows Sockets-Switch ruft WSPStartup nicht auf, um den Betrieb eines SAN-Dienstanbieters zu starten. Der Switch verwendet stattdessen die WSPStatupEx-Funktion des SAN-Dienstanbieters.
WSPStringToAddress Der Windows Sockets-Switch verwendet den TCP/IP-Anbieter, um eine für Menschen lesbare numerische Zeichenfolge, die die IP-Adresse eines Sockets darstellt, in eine Socketadressstruktur (SOCKADDR) zu konvertieren, die für die Übergabe an Windows Sockets-Routinen geeignet ist, die eine solche Struktur verwenden.