Сокеты приложений Windows против сокетов ядра Windows
Я понимаю основы этих двух понятий, но у меня есть вопрос, на который я не могу найти ответы в MSDN или других связанных документах.
Я знаю, что вызов создания сокета пользовательского режима (WSA) заканчивается вызовом CreateFile. Есть ли точка где-то в ядре, где это "сопоставляется" с сокетом ядра? Или эти два понятия совершенно не связаны?
Этот вопрос, возможно, скорее из любопытства, но не во втором.
Почему кто-то решил реализовать сервер / клиент в пространстве ядра? Если что-то можно сделать в пространстве пользователя, зачем делать это в ядре? Есть ли в реальной ситуации реализация ядра / клиента / сервера обязательной?