API Windows Sockets
Этот API реализует 16 и 32-разрядные сокеты - стандартный
сетевой интерфейс, используемый UNIX. Winsock поддерживает надежное, ориентированное
на соединение, а также ненадежное, не ориентированное на соединение взаимодействия.
Прикладной интерфейс Windows Sockets состоит из DLL Ws2_32.dll, которая
обеспечивает приложениям доступ к Winsock-функциям (см. рис. 20). Ws2_32.dll
вызывает сервисы пространства имен и провайдеров сервисов транспорта для
выполнения операций по разрешению имен и передачи сообщений. Библиотека
Msafd.dll действует как провайдер сервисов транспорта. Msafd.dll использует
библиотеки-помощники для Winsock (которые являются специфичными для протоколов),
для взаимодействия с драйверами протоколов уровня ядра. Например, Wshtcpip.dll
является помощником для протокола TCP/IP, а Wshnetbs.dll - для протокола
NetBEUI. Библиотека Mswsock.dll реализует расширенную функциональность
Microsoft Winsock.
Рис. 20. Интерфейс WinSockets
Провайдер сетевого транспорта Msafddll использует сервисы
драйвера файловой системы AFD.sys (Ancillary Function driver, AFD) для
реализации функций сокетов. AFD является TDI-клиентом и исполняет сетевые
операции с сокетами, такие как посылка и получение сообщений, путем отправки
запросов TDI IRP драйверам протоко-
лов. AFD не запрограммирован для использования определенных драйверов
протоколов, поэтому Msafd.dll информирует AFD об имени протокола, используемого
определенным сокетом, так чтобы AFD мог открыть объект-устройство, представляющее
этот протокол.
|