Handle socket
Un handle socket può essere facoltativamente un handle di file in Windows Sockets 2. Un handle socket da un provider Winsock può essere usato con altre funzioni non Winsock, ad esempio ReadFile, WriteFile, ReadFileEx e WriteFileEx.
Il XP1_IFS_HANDLES membro nella struttura delle informazioni del protocollo per un provider determina se un handle socket da un provider è un handle IFS (Installable File System). Gli handle socket che sono handle IFS possono essere usati senza una penalità delle prestazioni con altre funzioni non Winsock (ReadFile e WriteFile, ad esempio). Qualsiasi handle socket non IFS usato con funzioni non Winsock (ReadFile e WriteFile, ad esempio) comporta interazioni tra il provider e il file system in cui è coinvolto un sovraccarico di elaborazione aggiuntivo che può comportare una significativa penalità delle prestazioni. Quando si usano handle socket con funzioni non Winsock, i codici di errore propagati dal file system di base non vengono sempre mappati ai codici di errore Winsock. Di conseguenza, è consigliabile usare handle socket solo con funzioni Winsock.
Un handle socket non deve essere usato con la funzione DuplicateHandle . La presenza di provider di servizi a livelli (LSP) può causare l'esito negativo e non esiste alcun modo per il processo di destinazione di importare l'handle del socket.
Nota
I provider di servizi a livelli sono deprecati. A partire da Windows 8 e Windows Server 2012, usare Windows Filtering Platform.
Windows Sockets 2 ha espanso alcune funzioni che trasferisce i dati tra socket usando handle. Le funzioni offrono vantaggi specifici per i socket per il trasferimento dei dati e includono WSARecv, WSASend e WSADuplicateSocket.