Partager via


Socket Handles

Un handle de socket peut éventuellement être un handle de fichier dans Windows Sockets 2. Un handle de socket d’un fournisseur Winsock peut être utilisé avec d’autres fonctions non Winsock telles que ReadFile, WriteFile, ReadFileEx et WriteFileEx.

Le membre XP1_IFS_HANDLES dans la structure d’informations de protocole d’un fournisseur détermine si un handle de socket d’un fournisseur est un handle IFS (Installable File System). Les handles de socket qui sont des handles IFS peuvent être utilisés sans pénalité de performances avec d’autres fonctions non Winsock (ReadFile et WriteFile, par exemple). Tous les handles de socket non-IFS lorsqu’ils sont utilisés avec des fonctions non Winsock (ReadFile et WriteFile, par exemple) entraînent des interactions entre le fournisseur et le système de fichiers où une surcharge de traitement supplémentaire est impliquée, ce qui peut entraîner une pénalité importante des performances. Lors de l’utilisation de handles de socket avec des fonctions non Winsock, les codes d’erreur propagés à partir du système de fichiers de base ne sont pas toujours mappés aux codes d’erreur Winsock. Par conséquent, il est recommandé d’utiliser les handles de socket uniquement avec les fonctions Winsock.

Un handle de socket ne doit pas être utilisé avec la fonction DuplicateHandle . La présence de fournisseurs de services en couches (LSP) peut entraîner l’échec de cette opération et il n’existe aucun moyen pour le processus de destination d’importer le handle de socket.

Notes

Les fournisseurs de services en couches sont déconseillés. À compter de Windows 8 et Windows Server 2012, utilisez la plateforme de filtrage Windows.

 

Windows Sockets 2 a développé certaines fonctions qui transfèrent des données entre sockets à l’aide de handles. Les fonctions offrent des avantages spécifiques aux sockets pour le transfert de données et incluent WSARecv, WSASend et WSADuplicateSocket.