Winsock Kernel Objects
The Winsock Kernel (WSK) Network Programming Interface (NPI) is designed around two main object types: Client and Socket .
A client object represents the attachment, or binding, between a WSK application and the WSK subsystem. A client object is represented by the WSK_CLIENT structure. A pointer to a client object is returned to a WSK application during the process of attachment to the WSK subsystem. A WSK application passes this pointer to all WSK functions that operate at the client object level.
A socket object represents a network socket that can be used for network I/O. A socket object is represented by the WSK_SOCKET structure. A pointer to a socket object is returned to a WSK application when the application creates a new socket or when the application accepts an incoming connection. A WSK application passes this pointer to all WSK functions that are specific to a particular socket.