Sockethandles

Ein Sockethandle kann optional ein Dateihandle in Windows Sockets 2 sein. Ein Sockethandle eines Winsock-Anbieters kann mit anderen Nicht-Winsock-Funktionen wie ReadFile, WriteFile, ReadFileEx und WriteFileEx verwendet werden.

Der XP1_IFS_HANDLES Member in der Protokollinformationsstruktur für einen Anbieter bestimmt, ob ein Sockethandle eines Anbieters ein IFS-Handle (Installable File System) ist. Sockethandles, die IFS-Handles sind, können ohne Leistungseinbußen mit anderen Nicht-Winsock-Funktionen (z. B. ReadFile und WriteFile) verwendet werden. Alle Nicht-IFS-Sockethandles, wenn sie mit Nicht-Winsock-Funktionen (z. B. ReadFile und WriteFile) verwendet werden, führen zu Interaktionen zwischen dem Anbieter und dem Dateisystem, bei denen zusätzlicher Verarbeitungsaufwand erforderlich ist, der zu erheblichen Leistungseinbußen führen kann. Bei Verwendung von Sockethandles mit Nicht-Winsock-Funktionen werden die vom Basisdateisystem weitergegebenen Fehlercodes nicht immer Winsock-Fehlercodes zugeordnet. Daher wird empfohlen, Sockethandles nur mit Winsock-Funktionen zu verwenden.

Ein Sockethandle sollte nicht mit der DuplicateHandle-Funktion verwendet werden. Das Vorhandensein von mehrschichtigen Dienstanbietern (LSPs) kann dazu führen, dass dies fehlschlägt, und es gibt keine Möglichkeit für den Zielprozess, das Sockethandle zu importieren.

Hinweis

Mehrschichtige Dienstanbieter sind veraltet. Verwenden Sie ab Windows 8 und Windows Server 2012 die Windows-Filterplattform.

 

Windows Sockets 2 hat bestimmte Funktionen erweitert, die Daten zwischen Sockets mithilfe von Handles übertragen. Die Funktionen bieten spezifische Vorteile für Sockets zum Übertragen von Daten und umfassen WSARecv, WSASend und WSADuplicateSocket.